Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 编译perl>;AIXVersion5.3上的5.10_C_Perl_Aix_Xlc - Fatal编程技术网

C 编译perl>;AIXVersion5.3上的5.10

C 编译perl>;AIXVersion5.3上的5.10,c,perl,aix,xlc,C,Perl,Aix,Xlc,我一直在多个平台上编译OpenSSL(因此Perl>5.10,因为它是一个依赖项)。我已经设法在每个平台上编译了1.1.0b,除了AIX,我甚至不能编译Perl。我已经尝试了几个版本,并查看了。据我所知,它建议使用5.12.2版 当我试图编译版本5.12.2时 我从文档中获取以下内容,并填写一些局部系统变量,例如使用XLC rv7 export OBJECT_MODE=64 ./Configure \ -d \ -Dcc=/usr/vac/bin/xlc_r7 \ -Duses

我一直在多个平台上编译OpenSSL(因此Perl>5.10,因为它是一个依赖项)。我已经设法在每个平台上编译了1.1.0b,除了AIX,我甚至不能编译Perl。我已经尝试了几个版本,并查看了。据我所知,它建议使用5.12.2版

当我试图编译版本5.12.2时

我从文档中获取以下内容,并填写一些局部系统变量,例如使用XLC rv7

 export OBJECT_MODE=64

 ./Configure \
  -d \
  -Dcc=/usr/vac/bin/xlc_r7 \
  -Duseshrplib \
  -Duse64bitall \
  -Dprefix=`pwd`/../PERL
然后,我尝试按提示执行,并得到以下错误:

        /usr/vac/bin/xlc_r7 -q64 -o miniperl -brtl -bdynamic -L/usr/local/lib -b64    gv.o toke.o perly.o pad.o regcomp.o dump.o util.o mg.o reentr.o mro.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o    miniperlmain.o opmini.o perlmini.o -lbind -lnsl -ldl -lld -lm -lcrypt -lc
        LIBPATH=.../perl-5.12.2  ./miniperl -w -Ilib -MExporter -e '<?>' || make minitest
        LIBPATH=.../perl-5.12.2  ./miniperl -Ilib autodoc.pl
        /usr/bin/ln -s perl5122delta.pod pod/perldelta.pod
        LIBPATH=.../perl-5.12.2  ./miniperl -Ilib -Icpan/Cwd -Icpan/Cwd/lib pod/perlmodlib.PL -q
readdir(./../../../../..): Bad file number at lib/FindBin.pm line 116
stat(/pod/): No such file or directory at lib/FindBin.pm line 197
stat(/pod/): No such file or directory at lib/FindBin.pm line 200
Use of chdir('') or chdir(undef) as chdir() is deprecated at pod/perlmodlib.PL line 9.
No such file or directory at pod/perlmodlib.PL line 19.
make: The error code from the last command is 2.
在我绝望中,我试图破解它,避免写入清单,但后来我遇到了这个问题:

Creating Makefile.PL in cpan/Archive-Extract for Archive::Extract

Running Makefile.PL in cpan/Archive-Extract
../../miniperl Makefile.PL INSTALLDIRS=perl INSTALLMAN1DIR=none INSTALLMAN3DIR=none PERL_CORE=1 LIBPERL_A=libperl.a
readdir(./../../../../../../..): No such file or directory at ../../lib/File/Find.pm line 610
Use of chdir('') or chdir(undef) as chdir() is deprecated at ../../lib/File/Find.pm line 773.
readdir(./../../..): No such file or directory at ../../cpan/Cwd/lib/File/Spec/Unix.pm line 483
Could not open 'lib/Archive/Extract.pm': No such file or directory at ../../cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm line 2588.
512 from cpan/Archive-Extract's Makefile.PL at make_ext.pl line 390.
Warning: No Makefile!
make: Cannot find a rule to create target config from dependencies.
Stop.
 make config PERL_CORE=1 LIBPERL_A=libperl.a failed, continuing anyway...
Making all in cpan/Archive-Extract
 make all PERL_CORE=1 LIBPERL_A=libperl.a
make: Cannot find a rule to create target all from dependencies.
Stop.
Unsuccessful make(cpan/Archive-Extract): code=512 at make_ext.pl line 449.
make: The error code from the last command is 2.
错误的频率让我觉得也许我没有正确配置某些东西

我的下一个想法是尝试最新的版本,在撰写本文时是5.24。使用相同的配置并试图使我得到以下问题:

Can't locate strict.pm in @INC (you may need to install the strict module) (@INC contains: /cpan/AutoLoader/lib /dist/Carp/lib /dist/PathTools /dist/PathTools/lib /cpan/ExtUtils-Install/lib /cpan/ExtUtils-MakeMaker/lib /cpan/ExtUtils-Manifest/lib /cpan/File-Path/lib /ext/re /dist/Term-ReadLine/lib /dist/Exporter/lib /ext/File-Find/lib /cpan/Text-Tabs/lib /dist/constant/lib /cpan/version/lib /lib .) at autodoc.pl line 25.
BEGIN failed--compilation aborted at autodoc.pl line 25.
make: The error code from the last command is 2.
我从其他编译中知道这意味着我需要编辑PERL5LIB变量

如果我继续将所有模块添加到路径:

export PERL5LIB=`pwd`/dist/Exporter/lib:$PERL5LIB
export PERL5LIB=`pwd`/cpan/Text-Tabs/lib:$PERL5LIB
export PERL5LIB=`pwd`/ext/re:$PERL5LIB
export PERL5LIB=`pwd`/dist/constant/lib:$PERL5LIB
export PERL5LIB=`pwd`/cpan/ExtUtils-MakeMaker/lib:$PERL5LIB
export PERL5LIB=`pwd`/dist/Carp/lib:$PERL5LIB
export PERL5LIB=`pwd`/cpan/File-Path/lib:$PERL5LIB
export PERL5LIB=`pwd`/dist/PathTools:$PERL5LIB
export PERL5LIB=`pwd`/dist/PathTools/lib:$PERL5LIB
export PERL5LIB=`pwd`/ext/File-Find/lib:$PERL5LIB
即使如此,我仍然会得到一个模块的错误,该模块甚至不存在于5.24.0源代码中

Can't locate ExtUtils/MakeMaker/version/vpp.pm in @INC (you may need to install the ExtUtils::MakeMaker::version::vpp module) (@INC contains: <removed from post>) at (eval 2) line 2.
BEGIN failed--compilation aborted at (eval 2) line 2.
Compilation failed in require at .../perl-5.24.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm line 10.
BEGIN failed--compilation aborted at .../perl-5.24.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm line 10.
Compilation failed in require at Makefile.PL line 7.
BEGIN failed--compilation aborted at Makefile.PL line 7.
Unsuccessful Makefile.PL(cpan/Archive-Tar): code=512 at make_ext.pl line 517.
make: The error code from the last command is 2.
所有这些让我觉得也许我没有配置好一些东西。。。有经验的人能帮助我在AIX上直接安装Perl吗?我会非常感激的。谢谢

以下是有关我的系统的一些信息:

> prtconf
System Model: IBM,8231-E1D
Machine Serial Number: Not Available
Processor Type: Not Available
Processor Implementation Mode: POWER 7
Processor Version: PV_7_Compat
Number Of Processors: 0
Processor Clock Speed: Not Available
CPU Type: 64-bit
Kernel Type: 64-bit
Memory Size: 10240 MB
Good Memory Size: Not Available
Platform Firmware level: Not Available
Firmware Version: IBM,AL770_092
Console Login: disable
Auto Restart: true
Full Core: false

我经常下拉并编译openssh和openssl。我用的是gcc,没有我能回忆起的真正的魔法

这是我构建它的脚本。我不知道哪种perl是AIX本机的,但它似乎适合我


为什么使用C标记??您使用的是C编译器XLC rv7。我使用的编译器可能有问题。根据OpenSSL:“您必须至少安装Perl版本5.10.0。这一最低要求是由于我们使用了在该版本之前core Perl中不存在的\R regexp反斜杠序列等功能。”后面的文档中说:“我们需要最低版本。”[of
Test::More
]为0.96,出现在Perl 5.13.4中,因为该版本是第一个具有我们正在使用的所有功能的版本。”
        LIBPATH=.../perl-5.24.0 ./miniperl -Ilib make_ext.pl cpan/Archive-Tar/pm_to_blib  MAKE="make" LIBPERL_A=libperl.a
readdir(./../../../../../../..): No such file or directory at .../perl-5.24.0/ext/File-Find/lib/File/Find.pm line 142.
Can't cd to : No such file or directory
Unsuccessful Makefile.PL(cpan/Archive-Tar): code=512 at make_ext.pl line 517.
make: The error code from the last command is 2.
> prtconf
System Model: IBM,8231-E1D
Machine Serial Number: Not Available
Processor Type: Not Available
Processor Implementation Mode: POWER 7
Processor Version: PV_7_Compat
Number Of Processors: 0
Processor Clock Speed: Not Available
CPU Type: 64-bit
Kernel Type: 64-bit
Memory Size: 10240 MB
Good Memory Size: Not Available
Platform Firmware level: Not Available
Firmware Version: IBM,AL770_092
Console Login: disable
Auto Restart: true
Full Core: false