1

CPAN経由でCを必要とするモジュールのインストールに問題がある新しいFreeBSD9.0インストールがあります。ccなしで呼ばれることになっているよう-I/usr/local/includeです。CPANをINC="-I/usr/local/include"-で開始してオーバーライドしようとしましたが、一部のモジュールの問題は修正されましたが、makefileに設定されたデフォルトをオーバーライドしているように見えるため、他のモジュールでは問題が発生します。

ほぼ同じ設定の別のボックスがあります(少し古いインストールですが、FreeBSD 9.0のままです)。perl -V古いボックスには、ccflagsが含まれています-I/usr/local/includeが、新しいボックスにはありません。

これがCPANがccそれなしで呼び出している理由だと思います。

質問は、どうすれば設定できますか?

4

2 に答える 2

3

CPAN モジュールで使用される設定は、コア Perl の一部である Config モジュールから取得されます。Perl のコンパイル時に使用されたコンパイル オプションと設定を記録します。

なんらかの理由で、新しい FreeBSD 9.0 インストールで Perl をコンパイルしている人は、-I/usr/local/include.

既にお気づきのように、Config モジュールの設定と戦うのは大変な作業です。全体として、それと戦わないことが最も簡単です。Perl で を使用する場合は/usr/local/include、そのように Perl をコンパイルします。おそらくあなたも指定したいと思うでしょう-l/usr/local/lib

2 つの同様のシステムで Perl のバージョンが同じかどうかを確認する必要があります。

于 2012-08-23T21:32:43.153 に答える
1

それが機能する場合、最善の策は、おそらくそれを、ccflagsによって返されたファイルのエントリに追加することです。

perl -E'require "Config_heavy.pl"; say $INC{"Config_heavy.pl"};'

それ以外の場合は、これをExtUtis::MakeMakerおよびModule::Buildインストーラーに指定する手段が必ずあります。cpanその場合は、 とを使用してo conf makepl_arg設定できますo conf mbuildpl_arg。(コミットすることを忘れないでください!)

于 2012-08-23T21:35:07.960 に答える