在AIX下编译perl的问题

时间:2011-02-01 00:57:22

标签: perl gcc aix

我正在尝试在AIX 5.3下编译最新版本的perl并遇到问题。我正在使用gcc 4.2.0。我没有IBM XL C编译器。

我很乐意使用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.  

3 个答案:

答案 0 :(得分:1)

这些perldocs可能有所帮助。

显然,用gcc编译Perl会有问题,但它是可行的。

您是否已阅读此文档和安装文档并遵循所有这些指示?

答案 1 :(得分:0)

你见过pware.hvcc.edu吗? William Jojo不仅提供了大量预编译的东西,而且还提供了他使用的选项的一般指示。例如,要在32位AIX 5.3上编译perl5,他使用了this recipe。您必须调整库的位置,但我发现这些是非常方便的起点。

答案 2 :(得分:-1)

您可以在不编译自己的Perl的情况下编译CPAN模块。为什么不这样做?