Perl のコンパイルに失敗していた件

ずっと Perl がソースからインストールできていなかったんだけど、一応できるようになったのでそのメモ。

結論から言うと、/usr/include/bsd/sys/poll.h と /usr/include/x86_64-linux-gnu/sys/poll.h が競合していて、前者がインクルードされた結果、IO.xs のコンパイルあたりで失敗していた。色々試したのでエラー時のメッセージはどっかいっちゃった --;)

解決策としては、libc6-dev を再インストールしたらイケた。

aptitude reinstall libc6-dev

どうも libbsd-dev は Haskell の処理系を入れた時に依存のためにインストールされたらしい。正しい対応方法はよくわからん。

ついでに perlbrew でのインストールのコマンドも追記しておこう

perlbrew install perl-5.16.1 -D usethreads \
    -D otherlibdirs="$PERLBREW_ROOT/perls/perl-5.16.1/lib/5.16.1:$PERLBREW_ROOT/perls/perl-5.16.1/lib/site_perl/5.16.1"

otherlibdirs を追加することで、いい感じに @INC が設定できるみたい。これもよくわかってない。