本文仅记录问题和尝试解决的过程,希望能给遇到同样问题的伙伴提供帮助。
编译openssl需要perl工具。
root@p520:# /opt/freeware/bin//perl
exec(): 0509-036 Cannot load program /opt/freeware/bin//perl because of the following errors:
0509-022 Cannot load module /opt/freeware/lib/perl5/5.8.8/ppc-thread-multi/CORE/libperl.a(libperl.o).
0509-150 Dependent module /opt/freeware/lib/libgcc_s.a(shr.o) could not be loaded.
0509-103 The module has an invalid magic number.
0509-022 Cannot load module perl.
0509-150 Dependent module /opt/freeware/lib/perl5/5.8.8/ppc-thread-multi/CORE/libperl.a(libperl.o) could not be loaded.
0509-022 Cannot load module .
\
而/usr/bin/perl 则无问题。
问题排查:
whereis perl 显示/usr/bin/perl
继续排查:
echo $PATH
/usr/vac/bin:/usr/vacpp/bin:/opt/freeware/bin/:/opt/freeware/sbin/:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java14/jre/bin:/usr/java14/bin://bin:/usr/local/bin
将结果中的分号替换为 /perl\r\n, 得到
/usr/vac/bin/perl
/usr/vacpp/bin/perl
/opt/freeware/bin//perl
/opt/freeware/sbin//perl
/usr/bin/perl
/etc/perl
/usr/sbin/perl
/usr/ucb/perl
/usr/bin/X11/perl
/sbin/perl
/usr/java14/jre/bin/perl
/usr/java14/bin/perl
//bin/perl
/usr/local/bin/perl
将上面内容复制到SSH登录窗口中执行。
可以看到是/opt/freeware/sbin/perl造成的。
\
继续查看这些文件之间的关系:
root@p520:# ls -al /opt/freeware/bin//perl
-rwxr-xr-x 2 root system 96131 2010-01-15 04:34 /opt/freeware/bin//perl
root@p520:# ls -al /usr/bin/perl
lrwxrwxrwx 1 root system 28 2019-12-26 10:38 /usr/bin/perl -> /usr/opt/perl5/bin/perl5.8.8
root@p520:# ls -al /usr/opt/perl5/bin/perl5.8.8
-rwxr-xr-x 2 root system 147543 2009-06-03 17:56 /usr/opt/perl5/bin/perl5.8.8
\
重命名:
mv /opt/freeware/bin/perl /opt/freeware/bin/perl_bk
再次执行perl:
root@p520:# perl
-bash: /opt/freeware/bin/perl: A file or directory in the path name does not exist.
\
咱也链接上:
ln -s /usr/opt/perl5/bin/perl5.8.8 /opt/freeware/bin/perl
\
[root@qocalhost openssl-1.0.2u]# ./config --prefix=/opt/i2lib/openssl-1.0.x
Operating system: 00CEC1644C00-ibm-aix
WARNING! If you wish to build 64-bit kit, then you have to
invoke './Configure aix64-cc' manually.
You have ~5 seconds to press Ctrl-C to abort.
\
执行了./Configure aix64-cc'后,再次./config,依然有以上提示。
直接修改config, vim config, 搜索aix-cc
将提示项附近的OUT="aix-cc"改为OUT="aix64-cc"
OUT="aix-cc"
if [ TEST" = "false" -a -t 1 ]; then
echo " You have ~5 seconds to press Ctrl-C to abort."
(trap "stty stty -g" 2 0; stty -icanon min 0 time 50; read waste) <&1
fi
fi