モノノフ日記

普通の日記です

CPANビルドするときにgccオプションでfstack-protectorが無いと怒られる件

忘れないようにメモ。おそらく特殊な環境じゃないと発生しません。

原因はgcc3.Xとgcc4.Xが同居していて、ビルドするときにgcc3.Xでmakeを試みるから。gcc3.Xにはfstack-protecotorオプション無いです。

解決方法は use Config で読まれる設定のccの値をgcc4.Xで動く実行コマンド名に変更したらOK。 Config.pmにベースとなる設定が書いてるのでそこを書き換えればOKです。Macでperlbrew使ってる場合は ~/perl5/perlbrew/perls/perl-5.x.x/lib/5.x.x/darwin-2lebel/Config.pm にあります。

試してないですが全体の設定が変わってしまうのがイヤな人はMakefile.PL内で

use Config;
$Config{cc} = "gcc4.X";

# make something....

とやってもいけるんじゃないかと思います。