モジュールをビルドする際にどのように私はPerlのコンパイルフラグを上書きしますか?

StackOverflow https://stackoverflow.com/questions/1592066

質問

構築する場合、AのPerlモジュールのExtUtils :: MakeMakerのようCCFLAGSとLDFLAGSなどの値について(はperldoc構成を参照)Config.pmで定義されたフラグを使用します。

私は(短いMakefile.PLを編集する)論文の値をオーバーライドする方法を教えてください。

perl Makefile.PL ldflags=<options> 

動作するようには思えません。

コンテキスト: 私はOS X 10.6上ターム:: Readlineの::ヌーをコンパイルしようとしています。 デフォルトのOS Xのperlがユニバーサルバイナリであるため、-arch i386の-arch ppcのなどのようなCCFLAGS
を持っています 一方のGnu Readlineの(6.0)の私のバージョンは-arch i386用のソースからコンパイルされています。そのようなものとして、それは-arch ppcのを使用して、それへのリンクしようとしてモジュールの期待シンボルが含まれていません。

役に立ちましたか?

解決

一般的には、Config.pmの設定を上書きしようとする無益の練習です。それらを変更したいのためのより正常な理由は、Perlは非GNUコンパイラでコンパイルしていますが、GCCを使用するマシン上でコンパイラを変更することです。これは、あなたの選択したコンパイラでPerlを再構築し、すべての補助モジュールをインストールした後、「システム」を戦うためにではなく試してみるよりも、あなたの選択した新しいモジュールをビルド使用することをはるかに簡単であることをやることが難しいです。

オプションは、GNU Readlineのを構築するために使用してPerlがあなたのPerlを使用し、または構築するのと同じオプションを使用してGNU Readlineライブラリを構築する -

このため、2つのいずれかを行うことができます。あなたがあなたのマシンを評価し、あなたの頭の毛は、(マシンをヒットしないでくださいハードという場合は、他に適合するものを曲げるようにしようとすると、推奨されません - それはあなたがイライラしなければならないソフトウェアではなくハードウェアであり、Macのはいいです!)。

は二つの選択肢のうち、再構築GNU Readlineのは、おそらく簡単です - 。それは小さく、少数のアドオンを持っている。

他のヒント

情報があるかもしれないドキュメントの Hintsfileサポートのセクションで提供しました関連する、私はそれを試していないもののます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top