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
を渡す必要があります。 - 各フラグは何を意味していますか?
- これらのドキュメントは入手できますか?
クロスコンパイルはPerlがあまりうまくいかないものです。私はNetBSDでビルド環境をセットアップし、そこでコンパイルすることをお勧めします。あなたのビルド環境はVM内にある可能性があります。 –
@Brad Gilbertはい、Perlをクロスコンパイルすることは、すべての時間を無駄にしました。リソースの利用可能性が限られているため、NetBSDの環境を構築できません。 –
@BradGilbert INSTALLの文書によれば、Perlクロスコンパイルは、Perlではなくminiperl実行可能ファイルをビルドします。しかし、自分のアーキテクチャではminiperlバイナリをビルドできますが、Perlモジュールをパッケージ化してターゲットマシンに転送することはできません。何が問題になるのでしょうか、どのようにモジュールを転送できますか? –