2012-02-08 13 views
3

LinuxマシンからNetBSDターゲット用のCompile Perl-5.14.2を試そうとしていました。成功し、次のオプションを指定して呼び出さ configureスクリプトは、 Perlクロスコンパイル:MAKE

./Configure -des -Dusecrosscompile 
-Dtargetarch=netbsd 
-Dosvers=3.0.0 
-Dtargethost=10.184.22.48 
-Dtargetuser=username 
-Dusrinc=.../sb1-mips/usr/include 
-Dlibpth=.../xc-sb1-mips/netbsd/Lib/lib 
-Dcc=.../mips64-netbsdelf-gcc 

は、一度設定した後、 makeは成功しませんでした。
miniperlmain.oファイルの作成とは別の場所で破損します。私は問題を解決したCコンパイラ CCFLAGSに二つのフラグすなわち -DPERL_IMPLICIT_CONTEXT-DPERL_GCC_BRACE_GROUPS_FORBIDDENを通過してきたこれらのエラーを取り除くために今

gv.c: In function `Perl_try_amagic_un': 
gv.c:2018: error: void value not ignored as it ought to be 
gv.c:2029: error: void value not ignored as it ought to be 
gv.c:2029: warning: cast from pointer to integer of different size 
gv.c: In function `Perl_try_amagic_bin': 
gv.c:2061: error: void value not ignored as it ought to be 
gv.c:2063: error: void value not ignored as it ought to be 
make: *** [gv.o] Error 1 

gv.oファイルを生成中にエラーが次たとえば

が発生しました。

  • カスタムビルドであるため、成功するためにはCCFLAGSを渡す必要があります。
  • 各フラグは何を意味していますか?
  • これらのドキュメントは入手できますか?
+1

クロスコンパイルはPerlがあまりうまくいかないものです。私はNetBSDでビルド環境をセットアップし、そこでコンパイルすることをお勧めします。あなたのビルド環境はVM内にある可能性があります。 –

+0

@Brad Gilbertはい、Perlをクロスコンパイルすることは、すべての時間を無駄にしました。リソースの利用可能性が限られているため、NetBSDの環境を構築できません。 –

+0

@BradGilbert INSTALLの文書によれば、Perlクロスコンパイルは、Perlではなくminiperl実行可能ファイルをビルドします。しかし、自分のアーキテクチャではminiperlバイナリをビルドできますが、Perlモジュールをパッケージ化してターゲットマシンに転送することはできません。何が問題になるのでしょうか、どのようにモジュールを転送できますか? –

答えて

0

vagrantを使用してください。それはいくつかOpenBSD and FreeBSD imagesがあります。 HopefulyはNetBSDと互換性があります。

非常に速いビルド環境を得ることができます。それでは、コードを楽しく転送してビルドすることができます:)