2011-02-01 9 views
1

私は、AIX 5.3で最新のバージョンのperlをコンパイルしようとしていますが、問題があります。私はgcc 4.2.0を使用しています。 IBM XL Cコンパイラは使用できません。AIXの下でperlをコンパイルするときの問題

プリコンパイル済みのバージョンのperlをうれしく使うでしょうが、私はCPANモジュールをコンパイルできる必要があります。

Running Mkbootstrap for threads::shared() 
     chmod 644 shared.bs 
     rm -f ../../lib/auto/threads/shared/shared.so 
     gcc -maix32 -Wl,-bhalt:4 -Wl,-G -Wl,-bI:../../perl.exp -Wl,-bE:shared.exp -Wl,-bnoentry -lc -lm -L/usr/local/lib shared.o -o ../../lib/auto/threads/shared/shared.so 
     chmod 755 ../../lib/auto/threads/shared/shared.so 
     cp shared.bs ../../lib/auto/threads/shared/shared.bs 
     chmod 644 ../../lib/auto/threads/shared/shared.bs 
      ./perl -f -Ilib pod/buildtoc --build-toc -q 
Can't load 'lib/auto/re/re.so' for module re: rtld: 0712-001 Symbol Perl_av_fetch was referenced 
     from module lib/auto/re/re.so(), but a runtime definition 
     of the symbol was not found. 
rtld: 0712-001 Symbol Perl_av_len was referenced 
     from module lib/auto/re/re.so(), but a runtime definition 
     of the symbol was not found. 
rtld: 0712-001 Symbol Perl_av_push was referenced 
     from module lib/auto/re/re.so(), but a runtime definition 
     of the symbol was not found. 
rtld: 0712-001 Symbol Perl_av_store was referenced 
     from module lib/auto/re/re.so(), but a runtime definition 
     of the symbol was not found. 
rtld: 0712-001 Symbol Perl_bytes_to_utf8 was referenced 
     from module lib/auto/re/re.so(), but a runtime definition 
     of the symbol was not found. 
rtld: 0712-001 Symbol Perl_call_list was referenced 
     from module lib/auto/re/re.so(), but a runtime definition 
     of the symbol was not found. 
rtld: 0712-001 Symbol Perl_ckwarn was referenced 
     from module lib/auto/re/re.so(), but a runtime definition 
     of the symbol was not found. 
     0509-021 Additional errors occurred but are not reported. at lib/XSLoader.pm line 70. 
at lib/re.pm line 69 
Compilation failed in require at lib/Text/Wrap.pm line 50. 
BEGIN failed--compilation aborted at lib/Text/Wrap.pm line 50. 
Compilation failed in require at pod/buildtoc line 11. 
BEGIN failed--compilation aborted at pod/buildtoc line 11. 
make: 1254-004 The error code from the last command is 8. 

Stop. 
+2

AIX 5.3はサポートされていませんか? Perlの最新バージョンは何と思いますか? 5.12.2? –

+0

私は最近、AIX 6.1上でPerl 5.12.1をGCC 4.2.1で問題なく構築しました。ビルドプロセスの遅い段階で問題にぶつかるのは珍しいことです。私はGNU binutilsではなくシステムローダーを使っていました...あなたは何を使っていますか? –

+1

スレッドが有効になっている必要がありますか?その機能を無効にしたほうが良い結果が得られるかもしれません。 – Ether

答えて

0

pware.hvcc.eduを見ましたか? William Jojoは、あらかじめコンパイルされたものをたくさん用意しているだけでなく、彼が使用したオプションについて一般的な指示を出しています。例として、32ビットAIX 5.3でperl5をコンパイルするには、this recipeを使用しました。あなたのライブラリがどこにあるかを調整する必要がありますが、これは本当に便利な出発点です。

+0

これは最終的に私がやったことです。私は彼がそこにビルドスクリプトを持っていたことに気づいていませんでしたが、私はパッケージをインストールし、 "perl -V"を使ってどのオプションを使うかのヒントを得ました。 – dNC

1

これらはperldocsです。

明らかに、gccでPerlをコンパイルするのは問題になりますが、それは実行可能です。

この文書とINSTALLの文書を読み、それらの指示に従ったことがありますか?

-1

独自のPerlをコンパイルすることなく、確実にCPANモジュールをコンパイルできます。なぜそれをしないのですか?

+4

適切なコンパイラが必要です。また、AIXの標準Perlはxlcで構築され、OPにはxlcがありません。つまり、OPはGCCであるコンパイラを使ってPerlを構築する必要があります。 Perlのビルド後にコンパイラを変更しようとすると、元に戻すことができません。 –

+0

そうですね、これを試してみましたが、perlは別のコンパイラでビルドされていたので、あらゆる種類のエラーが発生しました。 – dNC