理系学生日記

おまえはいつまで学生気分なのか

Solaris で Perl モジュールを make しようとしたらハマった

諸事情により,インターネットに接続できない Solaris 上で Perl のモジュールを make しなければならないというワケの分からんことになってしまったのですが,そこでハマってしまったので情報共有など.

なにがどうなったかと言いますと,

# perl Makefile.PL
# make

みたいなことをしようとしたんですけど,make の部分で "cc なんてコマンドないよ!!!" と文句を言われてしまうという話でした.

調べてみて初めて知ったのですが,Perl は自分自身をビルドしたコンパイラとかを覚えていて,モジュールを make するときとかも基本的にはそのコンパイラを使おうとするみたいです.

$ perl -MConfig 'print "$Config{ccname}\n"'

あたりで確かめられるかと.

Solaris では Forte を使ってコンパイルされた Perl が入っていたらしく,生成される Makefile が gcc 用になっていなかったというのが事の真相らしい.

解決策としては,perlgcc を使えば良い.

# perlgcc Makefile.PL
# make

gcc に対応した Makefile を生成してくれる.

ref. perlgcc - Compile perl modules using gcc. - metacpan.org