ソースはココからダウンロード。前準備に環境変数の設定。% setenv LC_ALL C 実際的には以下のように.tcshrcに放り込む。 % echo "setenv LC_ALL C"
> ~/.tcshrc LC_ALL Cはロケールの設定。しておかないとperl動作時に毎回エラーを吐くようになる(ただし動作に問題はなし)。 DYLD_LIBRARY_PATHはテスト時に必要なだけでいらないかも。パスはビルドするperlのソースのディレクトリを指定。 次に、DB4.1.25のバグの絡みかなにかで、ext/DB_FIleを新しいものに変えないとmakeでこけてしまう(少なくともうちでは)。というわけでCPANのディレクトリからDB_FILEの最新版を落としてきて、解凍。 解凍されたフォルダを「DB_File」に改名してからext/に放り込んで上書き。 で、このまま普通にコンパイルすると、起動するたびシステムログにprebindできませんでしたログ↓を吐くperlができあがってしまうので /usr/libexec/fix_prebinding: /usr/bin/perl could not be launched prebound. /usr/libexec/fix_prebinding: /usr/bin/perl couldn't be prebound in the past, and probably can't be prebound now. /usr/libexec/fix_prebinding: ****-**-** **:**:** +0900: prebinding for perl done. 以下の部分を少々いじる。(※詳細はここ参照) hints/darwin.sh内のuseshrplib="true" をuseshrplib="false" に変更。 最後に、configure、make。
% rm -f config.sh Policy.sh
※掃除 % sh Configure -de -Dldflags='-prebind' -Dlddflags='-bundle -undefined
dynamic_lookup' -Uuseshrplib ※純正と同じ場所にインストールしたい場合はさらに -Dprefix=/usr を追加 ※スレッド使用でビルドしたい場合は -Dusethreads を追加 % make ※ext/Errnoのmakeエラーで止まるが、とりあえずかまわずインストール % make test |