Original Message:
Sent: Thu November 16, 2023 02:29 AM
From: Joerg Kauke
Subject: Perl cpan Net::SSLeay looking for Xl C compiler:
Hello Jeff,
install the RPM perl-Crypt-SSLeay-0.57-2.ppc and perl-Net_SSLeay.pm-1.55-3.ppc from the AIX Toolbox instead of using cpan to install. It is not the newest version, but it should work.
kind regards
------------------------------
Joerg Kauke
Unix Administrator
COOP Switzerland
Original Message:
Sent: Tue November 14, 2023 04:11 PM
From: Jeff Arnsbarger
Subject: Perl cpan Net::SSLeay looking for Xl C compiler:
7300-01-02-2320
perl 5, version 34, subversion 1 (v5.34.1) built for aix-thread-multi
latest dnf installed and packages updated.
Trying to install the Net::SSLeay via cpan:
# cpan Net::SSLeay
Loading internal logger. Log::Log4perl recommended for better logging
Reading '/.cpan/Metadata'
Database was generated on Tue, 14 Nov 2023 19:17:02 GMT
Running install for module 'Net::SSLeay'
Checksum for /.cpan/sources/authors/id/C/CH/CHRISN/Net-SSLeay-1.92.tar.gz ok
'YAML' not installed, will not store persistent state
Configuring C/CH/CHRISN/Net-SSLeay-1.92.tar.gz with Makefile.PL
Do you want to run external tests?
These tests *will* *fail* if you do not have network connectivity. [n] n
*** Be sure to use the same compiler and options to compile your OpenSSL, perl,
and Net::SSLeay. Mixing and matching compilers is not supported.
*** Found OpenSSL-3.0.7 installed in /usr
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Net::SSLeay
Writing MYMETA.yml and MYMETA.json
CHRISN/Net-SSLeay-1.92.tar.gz
/usr/opt/perl5/bin/perl Makefile.PL -- OK
Running make for C/CH/CHRISN/Net-SSLeay-1.92.tar.gz
cp lib/Net/SSLeay/Handle.pm blib/lib/Net/SSLeay/Handle.pm
cp lib/Net/SSLeay.pod blib/lib/Net/SSLeay.pod
cp lib/Net/SSLeay.pm blib/lib/Net/SSLeay.pm
AutoSplitting blib/lib/Net/SSLeay.pm (blib/lib/auto/Net/SSLeay)
blib/lib/Net/SSLeay.pm: some names are not unique when truncated to 8 characters:
directory blib/lib/auto/Net/SSLeay:
do_https3.al, do_https2.al, do_https4.al, do_https.al truncate to do_https
do_httpx3.al, do_httpx2.al, do_httpx4.al truncate to do_httpx
get_https.al, get_https3.al, get_https4.al, get_http.al, get_http3.al, get_http4.al, get_httpx.al, get_httpx3.al, get_httpx4.al truncate to get_http
head_https.al, head_https3.al, head_https4.al, head_http.al, head_http3.al, head_http4.al, head_httpx.al, head_httpx3.al, head_httpx4.al truncate to head_htt
post_https.al, post_https3.al, post_https4.al, post_http.al, post_http3.al, post_http4.al, post_httpx.al, post_httpx3.al, post_httpx4.al truncate to post_htt
put_https.al, put_https3.al, put_https4.al, put_http.al, put_http3.al, put_http4.al, put_httpx.al, put_httpx3.al, put_httpx4.al truncate to put_http
ssl_read_all.al, ssl_read_until.al, ssl_read_CRLF.al truncate to ssl_read
ssl_write_all.al, ssl_write_CRLF.al truncate to ssl_writ
tcp_read_all.al, tcp_read_until.al, tcp_read_CRLF.al truncate to tcp_read
tcp_write_all.al, tcp_write_CRLF.al truncate to tcp_writ
Running Mkbootstrap for SSLeay ()
chmod 644 "SSLeay.bs"
"/usr/opt/perl5/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- SSLeay.bs blib/arch/auto/Net/SSLeay/SSLeay.bs 644
"/usr/opt/perl5/bin/perl" "/usr/opt/perl5/lib/5.34.1/ExtUtils/xsubpp" -typemap '/usr/opt/perl5/lib/5.34.1/ExtUtils/typemap' -typemap '/.cpan/build/Net-SSLeay-1.92-1/typemap' SSLeay.xs > SSLeay.xsc
mv SSLeay.xsc SSLeay.c
xlc_r -q32 -c -I"/usr/include" -DNET_SSLEAY_32BIT_INT_PERL -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -qlanglvl=extc99 -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -O -DVERSION=\"1.92\" -DXS_VERSION=\"1.92\" "-I/usr/opt/perl5/lib/5.34.1/aix-thread-multi/CORE" SSLeay.c
/bin/sh: xlc_r: not found.
make: 1254-004 The error code from the last command is 127.
Stop.
CHRISN/Net-SSLeay-1.92.tar.gz
/usr/bin/make -- NOT OK
# lslpp -l | grep -i xlc
xlC.aix61.rte 16.1.0.10 COMMITTED IBM XL C++ Runtime for AIX 6.1
xlC.cpp 9.0.0.0 COMMITTED C for AIX Preprocessor
xlC.msg.en_US.cpp 9.0.0.0 COMMITTED C for AIX Preprocessor
xlC.msg.en_US.rte 16.1.0.10 COMMITTED IBM XL C++ Runtime
xlC.rte 16.1.0.10 COMMITTED IBM XL C++ Runtime for AIX
xlC.sup.aix50.rte 9.0.0.1 COMMITTED XL C/C++ Runtime for AIX 5.2
I found this older thread stating that perl looking for the xlc_r (Part of the paid product IBM XL C/C++ for AIX) was a mistake. Was wondering, was this ever addressed? Post that stated it was a mistake can be found here: AIX Open Source
Are there any current workarounds?
Thanks,
Jeff
------------------------------
Jeff Arnsbarger
------------------------------