せっかく glibc 2.2 になったことだし、 やはり GHC を試さねば。 バイナリを取ってきてブートストラップする。 バイナリのインストールは ./configure; make install で何事もなく終了。 しかし…。
~/s/src/tmp/ghc-5.04.1 % ghc --help /usr/lib/ghc-5.04.1/ghc-5.04.1: error while loading shared libraries: libreadline.so.4: cannot open shared object file: No such file or directory
むむ。
~/s/src % ls /usr/lib/libreadline.* /usr/lib/libreadline.a /usr/lib/libreadline.so.3 /usr/lib/libreadline.so /usr/lib/libreadline.so.3.0
readline が古い。 これはいつも通り ring サーバから取る。 これのインストールは簡単だからどうでもいいとしよう。 他にはなんか足りないものはないだろうね。
~/s/src % ldd /usr/lib/ghc-5.04.1/ghc-5.04.1 libdl.so.2 => /lib/libdl.so.2 (0x40019000) libreadline.so.4 => not found libncurses.so.5 => /usr/lib/libncurses.so.5 (0x4001d000) libm.so.6 => /lib/libm.so.6 (0x4005d000) libc.so.6 => /lib/libc.so.6 (0x4007e000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
readline だけのようだ。
そういえば libreadline ってどのくらい使われてるんだろ。 ついでなので依存チェックをしてみよう。 EPERM が出たりもしたけど邪魔なので消してある。
~/s/src % for i in /bin/* /usr/bin/* /usr/local/bin/* ~/bin/* for> do for> (ldd $i | grep -q libreadline) && echo $i for> done /usr/bin/ftp /usr/bin/gofc /usr/bin/gofer /usr/bin/pl ~/s/src %
ftp なんて入ってたんだ (ヲイ)。 pl ってなんだっけ。SWI-Prolog だった。 gofer はあれだな、Haskell の親戚だ。 gofc はそのコンパイラ。
readline は何も考えずにサクッと入った。
やっと GHC がコンパイルできる。 しかし欲を出して autoconf かけなおしてみたりして失敗した。 configure がなんかわけのわからんエラーになって止まる。 しかたがないのでアーカイブから展開しなおしてコンパイル。
~/s/src/ghc-5.04.1 % CC='gcc -pipe' CFLAGS=-O2 ./configure --prefix &> log.conf && make &> log.make && echo OK
コンパイルするのは ghc なのに、ついいつものクセで CC と CFLAGS を指定してしまう罠。 意味ないじゃん。
それにしても make にやたらと時間がかかる。 こんなに遅いのは最近めったにないなあ。 かつて 486 のマシンで libc をコンパイルしたときと 同じくらい遅いのではなかろうか。
ぐわっ! ar が! 最後の ar がめちゃくちゃ重い! なんかプロセスサイズが 300MB になってます (物理メモリ 256MB)。
今度は gcc が動き始めた。いったい何をやってるんだ。
また ar か。
二時間たってもまだ終わらない。
(07:20)
やっとコンパイル終わった。
~/s/src/ghc-5.04.1 % sudo make install &> log.inst && echo OK OK ~/s/src/ghc-5.04.1 % rehash ~/s/src/ghc-5.04.1 % ghc --version The Glorious Glasgow Haskell Compilation System, version 5.04.1
うーん、本当に自分でコンパイルしたやつなのか、 見ためにはわかんないのが残念だ。
というか、もうバイナリがあるのにわざわざコンパイルして どうするのか 30 分ほど問い詰めなければならないかもしれない。
(07:41)
Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved.