perl 5.8.0

Back

 ソースはココからダウンロード。前準備に環境変数の設定。

% setenv LC_ALL C


 実際的には以下のように.tcshrcに放り込む。

% echo "setenv LC_ALL C" > ~/.tcshrc
% setenv DYLD_LIBRARY_PATH /Users/hoge/Desktop/perl-5.8.0


 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
# make install



2003 10/20 updated / C's gallery OS X Tips