I did install 'openssl-devel' and 'openssl' is already installed. This was done as root while the script is run as a user who doesn't have root access. Could this be the reason that while installing modules "LWP::Protocol::https" or "Net::SSLeay" openssl is not found as it is installed under /usr? (/usr does have read & write access for all)
-bash-4.2# yum list installed | grep -i 'openssl'
openssl.x86_64 1:1.0.2k-16.el7_6.1 @update
+s
openssl-devel.x86_64 1:1.0.2k-16.el7_6.1 @update
+s
openssl-libs.x86_64 1:1.0.2k-16.el7_6.1 @update
+s
-bash-4.2#
But still I am getting same errors when I try to run the script or install modules. :-(
I got it working using Python but would love to get it going using Perl.
If interested, here is the build.log when I try to install "LWP::Protocol::https"
cpanm (App::cpanminus) 1.7044 on perl 5.028001 built for x86_64-linux
Work directory is /export/home/USER_ID/.cpanm/work/1555688490.8167
You have make /usr/bin/make
You have LWP 6.38
You have /usr/bin/tar: tar (GNU tar) 1.26
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gp
+l.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by John Gilmore and Jay Fenlason.
You have /usr/bin/unzip
Searching LWP::Protocol::https () on cpanmetadb ...
--> Working on LWP::Protocol::https
Fetching http://www.cpan.org/authors/id/O/OA/OALDERS/LWP-Protocol-http
+s-6.07.tar.gz
-> OK
Unpacking LWP-Protocol-https-6.07.tar.gz
Entering LWP-Protocol-https-6.07
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 6.58 ... Yes (7.34)
Configuring LWP-Protocol-https-6.07
Running Makefile.PL
Warning: prerequisite IO::Socket::SSL 1.54 not found.
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for LWP::Protocol::https
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have Test::More 0 ... Yes (1.302162)
Checking if you have Mozilla::CA 20110101 ... Yes (20180117)
Checking if you have LWP::UserAgent 6.06 ... Yes (6.38)
Checking if you have Test::RequiresInternet 0 ... Yes (0.05)
Checking if you have Net::HTTPS 6 ... Yes (6.18)
Checking if you have IO::Socket::SSL 1.54 ... No
==> Found dependencies: IO::Socket::SSL
Searching IO::Socket::SSL (1.54) on cpanmetadb ...
--> Working on IO::Socket::SSL
Fetching http://www.cpan.org/authors/id/S/SU/SULLR/IO-Socket-SSL-2.066
+.tar.gz
-> OK
Unpacking IO-Socket-SSL-2.066.tar.gz
Entering IO-Socket-SSL-2.066
Checking configure dependencies from META.json
Checking if you have Net::SSLeay 1.46 ... No
Checking if you have ExtUtils::MakeMaker 6.58 ... Yes (7.34)
==> Found dependencies: Net::SSLeay
Searching Net::SSLeay (1.46) on cpanmetadb ...
--> Working on Net::SSLeay
Fetching http://www.cpan.org/authors/id/M/MI/MIKEM/Net-SSLeay-1.85.tar
+.gz
-> OK
Unpacking Net-SSLeay-1.85.tar.gz
Entering Net-SSLeay-1.85
Checking configure dependencies from META.yml
Checking if you have ExtUtils::MakeMaker 6.58 ... Yes (7.34)
Configuring Net-SSLeay-1.85
Running Makefile.PL
*** Found OpenSSL-1.0.2k installed in /usr
*** Be sure to use the same compiler and options to compile your OpenS
+SL, perl,
and Net::SSLeay. Mixing and matching compilers is not supported.
Do you want to run external tests?
These tests *will* *fail* if you do not have network connectivity. [n]
+ n
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Net::SSLeay
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have Test::More 0.60_01 ... Yes (1.302162)
Checking if you have ExtUtils::MakeMaker 0 ... Yes (7.34)
Checking if you have MIME::Base64 0 ... Yes (3.15)
Building and testing Net-SSLeay-1.85
cp lib/Net/SSLeay/Handle.pm blib/lib/Net/SSLeay/Handle.pm
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.a
+l, 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_ht
+tp3.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_ht
+tp3.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.a
+l, 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
cp lib/Net/SSLeay.pod blib/lib/Net/SSLeay.pod
Running Mkbootstrap for SSLeay ()
chmod 644 "SSLeay.bs"
"/export/home/USER_ID/perl5/perlbrew/perls/perl-5.28.1/bin/perl" "-Iin
+c" -MExtUtils::Command::MM -e 'cp_nonempty' -- SSLeay.bs blib/arch/au
+to/Net/SSLeay/SSLeay.bs 644
"/export/home/USER_ID/perl5/perlbrew/perls/perl-5.28.1/bin/perl" "-Iin
+c" "/export/home/USER_ID/perl5/perlbrew/perls/perl-5.28.1/lib/5.28.1/
+ExtUtils/xsubpp" -typemap '/export/home/USER_ID/perl5/perlbrew/perls
+/perl-5.28.1/lib/5.28.1/ExtUtils/typemap' -typemap '/export/home/USER
+_ID/.cpanm/work/1555688490.8167/Net-SSLeay-1.85/typemap' SSLeay.xs >
+ SSLeay.xsc
mv SSLeay.xsc SSLeay.c
cc -c -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I
+/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORT
+IFY_SOURCE=2 -O2 -DVERSION=\"1.85\" -DXS_VERSION=\"1.85\" -fPIC "-I
+/export/home/USER_ID/perl5/perlbrew/perls/perl-5.28.1/lib/5.28.1/x86_
+64-linux/CORE" SSLeay.c
SSLeay.xs:163:25: fatal error: openssl/err.h: No such file or director
+y
#include <openssl/err.h>
^
compilation terminated.
make: *** [SSLeay.o] Error 1
-> FAIL Installing Net::SSLeay failed. See /export/home/USER_ID/.cpanm
+/work/1555688490.8167/build.log for details. Retry with --force to fo
+rce install it.
-> FAIL Installing the dependencies failed: Module 'Net::SSLeay' is no
+t installed
-> FAIL Bailing out the installation for IO-Socket-SSL-2.066.
-> FAIL Installing the dependencies failed: Module 'IO::Socket::SSL' i
+s not installed
-> FAIL Bailing out the installation for LWP-Protocol-https-6.07.
[USER_ID@vm0pncadita0002 useful]$ perldoc LWP::Protocol::https
No documentation found for "LWP::Protocol::https".
[USER_ID@vm0pncadita0002 useful]$ perldoc Data::Dumper
[USER_ID@vm0pncadita0002 useful]$ which perldoc
~/perl5/perlbrew/perls/perl-5.28.1/bin/perldoc
If interested, here is the build.log when I try to install "Net::SSLeay"
cpanm (App::cpanminus) 1.7044 on perl 5.028001 built for x86_64-linux
Work directory is /export/home/USER_ID/.cpanm/work/1555688548.8308
You have make /usr/bin/make
You have LWP 6.38
You have /usr/bin/tar: tar (GNU tar) 1.26
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gp
+l.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by John Gilmore and Jay Fenlason.
You have /usr/bin/unzip
Searching Net::SSLeay () on cpanmetadb ...
--> Working on Net::SSLeay
Fetching http://www.cpan.org/authors/id/M/MI/MIKEM/Net-SSLeay-1.85.tar
+.gz
-> OK
Unpacking Net-SSLeay-1.85.tar.gz
Entering Net-SSLeay-1.85
Checking configure dependencies from META.yml
Checking if you have ExtUtils::MakeMaker 6.58 ... Yes (7.34)
Configuring Net-SSLeay-1.85
Running Makefile.PL
*** Found OpenSSL-1.0.2k installed in /usr
*** Be sure to use the same compiler and options to compile your OpenS
+SL, perl,
and Net::SSLeay. Mixing and matching compilers is not supported.
Do you want to run external tests?
These tests *will* *fail* if you do not have network connectivity. [n]
+ n
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Net::SSLeay
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have ExtUtils::MakeMaker 0 ... Yes (7.34)
Checking if you have MIME::Base64 0 ... Yes (3.15)
Checking if you have Test::More 0.60_01 ... Yes (1.302162)
Building and testing Net-SSLeay-1.85
cp lib/Net/SSLeay/Handle.pm blib/lib/Net/SSLeay/Handle.pm
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.a
+l, 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_ht
+tp3.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_ht
+tp3.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.a
+l, 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
cp lib/Net/SSLeay.pod blib/lib/Net/SSLeay.pod
Running Mkbootstrap for SSLeay ()
chmod 644 "SSLeay.bs"
"/export/home/USER_ID/perl5/perlbrew/perls/perl-5.28.1/bin/perl" "-Iin
+c" -MExtUtils::Command::MM -e 'cp_nonempty' -- SSLeay.bs blib/arch/au
+to/Net/SSLeay/SSLeay.bs 644
"/export/home/USER_ID/perl5/perlbrew/perls/perl-5.28.1/bin/perl" "-Iin
+c" "/export/home/USER_ID/perl5/perlbrew/perls/perl-5.28.1/lib/5.28.1/
+ExtUtils/xsubpp" -typemap '/export/home/USER_ID/perl5/perlbrew/perls
+/perl-5.28.1/lib/5.28.1/ExtUtils/typemap' -typemap '/export/home/USER
+_ID/.cpanm/work/1555688548.8308/Net-SSLeay-1.85/typemap' SSLeay.xs >
+ SSLeay.xsc
mv SSLeay.xsc SSLeay.c
cc -c -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I
+/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORT
+IFY_SOURCE=2 -O2 -DVERSION=\"1.85\" -DXS_VERSION=\"1.85\" -fPIC "-I
+/export/home/USER_ID/perl5/perlbrew/perls/perl-5.28.1/lib/5.28.1/x86_
+64-linux/CORE" SSLeay.c
SSLeay.xs:163:25: fatal error: openssl/err.h: No such file or director
+y
#include <openssl/err.h>
^
compilation terminated.
make: *** [SSLeay.o] Error 1
-> FAIL Installing Net::SSLeay failed. See /export/home/USER_ID/.cpanm
+/work/1555688548.8308/build.log for details. Retry with --force to fo
+rce install it.