セルフビルドでjfbterm - 未完
id:shizaruさんのセルフビルドがとても楽しそうだったのでやってみた。
⇒ セルフって - 見ざる・言わざる・shizaru
⇒ セルフビルド環境 - 見ざる・言わざる・shizaru
素のAngstrom-console-imageをZaurusに焼いた状態。HDDは32MBのSwapと残り全部がっつりルート。贅沢三昧。gtk+-devを入れればいいよとのことなので、ふむふむと素直に。
$ ipkg update $ ipkg install gtk+-dev
いきなりjfbterm。えぇ無謀なのは分かってますが。
$ wget http://hogehoge.dl.sourceforge.jp/jfbterm/13501/jfbterm-0.4.7.tar.gz $ tar zxvf jfbterm-0.4.7.tar.gz $ jfbterm-0.4.7 $ ./configure creating cache ./config.cache checking for a BSD compatible install... ./install-sh -c checking whether build environment is sane... yes checking whether make sets ${MAKE}... no checking for working aclocal-1.4... missing checking for working autoconf... missing checking for working automake-1.4... missing checking for working autoheader... missing checking for working makeinfo... missing checking for gcc... no checking for cc... no configure: error: no acceptable cc found in $PATH
あはは。ダメすぎる。gccすらないじゃん。適当にインストール。
$ ipkg install gcc gcc-symlinks $ ipkg install g++ g++-symlinks $ ipkg install cpp cpp-symlinks $ ipkg install binutils binutils-symlinks $ ipkg install make automake autoconf $ gcc --version gcc (GCC) 4.1.2
どれが本当に必要かは知らない。適当。さて、コンフィグ。
$ ./configure --- snip --- checking for working aclocal-1.4... missing checking for working autoconf... found checking for working automake-1.4... missing checking for working autoheader... missing checking for working makeinfo... missing --- snip ---
う〜ん。無理っぽいけど。強引にMake。
$ make cd . && /home/root/jfbterm-0.4.7/missing aclocal-1.4 WARNING: `aclocal-1.4' is needed, and you do not seem to have it handy on your system. You might have modified some files without having the proper tools for further handling them. Check the `README' file, it often tells you about the needed prerequirements for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing `aclocal-1.4' program. make: *** [aclocal.m4] Error 1
まけ。完敗。automake入れたのに。
$ ipkg list | grep automake automake - 1.9.6-r0 - A tool for automatically generating Makefiles.
バージョン違い。なので、大元から1.4を落としてインストール。
$ wget ftp://ftp.gnu.org/gnu/automake/automake-1.4-p6.tar.gz $ tar zxvf automake-1.4-p6.tar.gz tar: Invalid tar magic
うげっ。出たよ、busyboxなtarのバグ。こんな時のために、スタティックでファンタスティックなtarをOpenEmbedded環境でクロスでビルドしたのをSD Cardに突っ込んである。
$ /media/card/tar-arm-static zxvf automake-1.4-p6.tar.gz $ cd automake-1.4-p6 $ ./configure $ make $ make install
スクリプトだけなので、問題なくビルド&インストール完了。で、jfbtermに戻って再度Make。
$ make cd . && autoconf Can't locate File/Path.pm in @INC
Perlでエラー。なんじゃこりゃ。ちょっと分からぬ。ので、浮気して先ほどのautoheaderとmakeinfoの調査。
$ ipkg list | grep autoheader $ ipkg list | grep makeinfo
単体で落としてくることは出来なさそう。
$ ipkg files autoconf | grep autoheader /usr/bin/autoheader
だが、autoheaderはインストールされてるぽい。なぜ故に./configureは見つけてくれない?ちょっと脇に置いといて、makefinfo。こいつはtexinfoの一部なので、texinfo丸ごとビルドする。
$ wget http://ftp.gnu.org/gnu/texinfo/texinfo-4.8a.tar.gz $ tar zxvf texinfo-4.8a.tar.gz $ cd texinfo-4.8a $ ./configure checking for gawk... no checking for mawk... no checking for nawk... no checking for awk... awk --- snip --- checking for tgetent in -lncurses... no configure: WARNING: probably need a terminal library, one of: ncurses curses termlib termcap terminfo --- snip ---
まだ呪われてないらしいので、ipkgで探してインストール。ついでにgawkとbisonも。
$ ipkg list | grep ncurses $ ipkg install ncurses ncurses-dev ncurses-terminfo $ ipkg install gawk bison
さてmake。
$ make
おっと。スワップをアクティベートしておくのを忘れていた。
$ swapon /dev/hda2
10分ほどでmake完了。
$ make install $ cat /proc/swaps Filename Type Size Used Priority /dev/hda2 partition 32248 0 -1