セルフビルドでjfbterm - 未完

id:shizaruさんのセルフビルドがとても楽しそうだったのでやってみた。
セルフって - 見ざる・言わざる・shizaru
セルフビルド環境 - 見ざる・言わざる・shizaru


素のAngstrom-console-imageZaurusに焼いた状態。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

スワップ使ってませんね。まぁ今日はこんなところで。明日早いので、焼酎呑んでニコニコ動画見て寝ます。