Skip Menu |

This queue is for tickets about the Net-SSLeay CPAN distribution.

Report information
The Basics
Id: 105189
Status: open
Priority: 0/
Queue: Net-SSLeay

People
Owner: Nobody in particular
Requestors: jkeenan [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Net::SSLeay fails to build on perl-5.22.0
While using cpanm, Net::SSLeay v1.69 failed to build on perl-5.22.0 (installed via perlbrew). Details in attachments.
Subject: net-ssleay-build-failure-log.txt
cpanm (App::cpanminus) 1.7001 on perl 5.022000 built for x86_64-linux Work directory is /home/jkeenan/.cpanm/work/1434113764.2796 You have make /usr/bin/make You have LWP 6.13 You have /bin/tar: tar (GNU tar) 1.27.1 Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.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.69.tar.gz -> OK Unpacking Net-SSLeay-1.69.tar.gz Entering Net-SSLeay-1.69 Checking configure dependencies from META.yml Checking if you have ExtUtils::MakeMaker 6.36 ... Yes (7.04_01) Configuring Net-SSLeay-1.68 Running Makefile.PL *** Found OpenSSL-1.0.1f installed in /usr *** Be sure to use the same compiler and options to compile your OpenSSL, 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 6.36 ... Yes (7.04_01) Checking if you have Test::More 0.60_01 ... Yes (1.001014) Checking if you have MIME::Base64 0 ... Yes (3.15) Building and testing Net-SSLeay-1.68 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 Net::SSLeay () chmod 644 "SSLeay.bs" "/home/jkeenan/perl5/perlbrew/perls/perl-5.22.0/bin/perl" "-Iinc" "/home/jkeenan/perl5/perlbrew/perls/perl-5.22.0/lib/5.22.0/ExtUtils/xsubpp" -typemap "/home/jkeenan/perl5/perlbrew/perls/perl-5.22.0/lib/5.22.0/ExtUtils/typemap" -typemap "typemap" SSLeay.xs > SSLeay.xsc && mv SSLeay.xsc SSLeay.c cc -c -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"1.69\" -DXS_VERSION=\"1.69\" -fPIC "-I/home/jkeenan/perl5/perlbrew/perls/perl-5.22.0/lib/5.22.0/x86_64-linux/CORE" SSLeay.c SSLeay.xs:163:25: fatal error: openssl/err.h: No such file or directory #include <openssl/err.h> ^ compilation terminated. make: *** [SSLeay.o] Error 1 -> FAIL Installing Net::SSLeay failed. See /home/jkeenan/.cpanm/work/1434113764.2796/build.log for details. Retry with --force to force install it.
Subject: perl_5_22_0_V.txt
Summary of my perl5 (revision 5 version 22 subversion 0) configuration: Platform: osname=linux, osvers=3.13.0-53-generic, archname=x86_64-linux uname='linux zareason 3.13.0-53-generic #89-ubuntu smp wed may 20 10:34:39 utc 2015 x86_64 x86_64 x86_64 gnulinux ' config_args='-de -Dprefix=/home/jkeenan/perl5/perlbrew/perls/perl-5.22.0 -Aeval:scriptdir=/home/jkeenan/perl5/perlbrew/perls/perl-5.22.0/bin' hint=recommended, useposix=true, d_sigaction=define useithreads=undef, usemultiplicity=undef use64bitint=define, use64bitall=define, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O2', cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include' ccversion='', gccversion='4.8.2', gccosandvers='' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678, doublekind=3 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16, longdblkind=3 ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='cc', ldflags =' -fstack-protector -L/usr/local/lib' libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib /lib64 /usr/lib64 libs=-lpthread -lnsl -ldb -ldl -lm -lcrypt -lutil -lc perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc libc=libc-2.19.so, so=so, useshrplib=false, libperl=libperl.a gnulibc_version='2.19' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E' cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector' Characteristics of this binary (from libperl): Compile-time options: HAS_TIMES PERLIO_LAYERS PERL_DONT_CREATE_GVSV PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_MALLOC_WRAP PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME USE_PERLIO USE_PERL_ATOF Built under linux Compiled at Jun 1 2015 19:12:01 %ENV: PERLBREW_BASHRC_VERSION="0.67" PERLBREW_HOME="/home/jkeenan/.perlbrew" PERLBREW_MANPATH="/home/jkeenan/perl5/perlbrew/perls/perl-5.22.0/man" PERLBREW_PATH="/home/jkeenan/perl5/perlbrew/bin:/home/jkeenan/perl5/perlbrew/perls/perl-5.22.0/bin" PERLBREW_PERL="perl-5.22.0" PERLBREW_ROOT="/home/jkeenan/perl5/perlbrew" PERLBREW_VERSION="0.67" PERL_WORKDIR="gitwork/perl" @INC: /home/jkeenan/perl5/perlbrew/perls/perl-5.22.0/lib/site_perl/5.22.0/x86_64-linux /home/jkeenan/perl5/perlbrew/perls/perl-5.22.0/lib/site_perl/5.22.0 /home/jkeenan/perl5/perlbrew/perls/perl-5.22.0/lib/5.22.0/x86_64-linux /home/jkeenan/perl5/perlbrew/perls/perl-5.22.0/lib/5.22.0 .
This looks like the important bit: SSLeay.xs:163:25: fatal error: openssl/err.h: No such file or directory So I suspect that the perl version is not important here, but rather that your openssl installation is not compatible. Can you confirm by trying to install again on an earlier perl version?
On Fri Jun 12 12:56:32 2015, ETHER wrote: Show quoted text
> This looks like the important bit: > > SSLeay.xs:163:25: fatal error: openssl/err.h: No such file or > directory > > So I suspect that the perl version is not important here, but rather > that your openssl installation is not compatible. Can you confirm by > trying to install again on an earlier perl version?
Attempted with 5.20.1, attached.
Subject: net-ssleay-build-failure-5-20-1.txt
$ perlbrew switch perl-5.20.1 $ perl -v This is perl 5, version 20, subversion 1 (v5.20.1) built for x86_64-linux Copyright 1987-2014, Larry Wall Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using "man perl" or "perldoc perl". If you have access to the Internet, point your browser at http://www.perl.org/, the Perl Home Page. $ cpanm Net::SSLeay --> Working on Net::SSLeay Fetching http://www.cpan.org/authors/id/M/MI/MIKEM/Net-SSLeay-1.69.tar.gz ... OK Configuring Net-SSLeay-1.68 ... OK Building and testing Net-SSLeay-1.68 ... FAIL ! Installing Net::SSLeay failed. See /home/jkeenan/.cpanm/work/1434130148.9010/build.log for details. Retry with --force to force install it. $ cat /home/jkeenan/.cpanm/work/1434130148.9010/build.log cpanm (App::cpanminus) 1.7001 on perl 5.020001 built for x86_64-linux Work directory is /home/jkeenan/.cpanm/work/1434130148.9010 You have make /usr/bin/make You have /usr/bin/wget You have /bin/tar: tar (GNU tar) 1.27.1 Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.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.69.tar.gz -> OK Unpacking Net-SSLeay-1.69.tar.gz Entering Net-SSLeay-1.69 Checking configure dependencies from META.yml Checking if you have ExtUtils::MakeMaker 6.36 ... Yes (6.98) Configuring Net-SSLeay-1.68 Running Makefile.PL *** Found OpenSSL-1.0.1f installed in /usr *** Be sure to use the same compiler and options to compile your OpenSSL, 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.001002) Checking if you have MIME::Base64 0 ... Yes (3.14) Checking if you have ExtUtils::MakeMaker 6.36 ... Yes (6.98) Building and testing Net-SSLeay-1.68 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 cp lib/Net/SSLeay/Handle.pm blib/lib/Net/SSLeay/Handle.pm Running Mkbootstrap for Net::SSLeay () chmod 644 SSLeay.bs /home/jkeenan/perl5/perlbrew/perls/perl-5.20.1/bin/perl "-Iinc" /home/jkeenan/perl5/perlbrew/perls/perl-5.20.1/lib/5.20.1/ExtUtils/xsubpp -typemap /home/jkeenan/perl5/perlbrew/perls/perl-5.20.1/lib/5.20.1/ExtUtils/typemap -typemap typemap SSLeay.xs > SSLeay.xsc && mv SSLeay.xsc SSLeay.c cc -c -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"1.69\" -DXS_VERSION=\"1.69\" -fPIC "-I/home/jkeenan/perl5/perlbrew/perls/perl-5.20.1/lib/5.20.1/x86_64-linux/CORE" SSLeay.c SSLeay.xs:163:25: fatal error: openssl/err.h: No such file or directory #include <openssl/err.h> ^ compilation terminated. make: *** [SSLeay.o] Error 1 -> FAIL Installing Net::SSLeay failed. See /home/jkeenan/.cpanm/work/1434130148.9010/build.log for details. Retry with --force to force install it. ############################################### $ which openssl /usr/bin/openssl $ openssl version OpenSSL 1.0.1f 6 Jan 2014
On Fri Jun 12 12:56:32 2015, ETHER wrote: Show quoted text
> This looks like the important bit: > > SSLeay.xs:163:25: fatal error: openssl/err.h: No such file or > directory > > So I suspect that the perl version is not important here, but rather > that your openssl installation is not compatible. Can you confirm by > trying to install again on an earlier perl version?
Similar results with perl-5.18.4. Excerpts: ##### /home/jkeenan/perl5/perlbrew/perls/perl-5.18.4/bin/perl "-Iinc" /home/jkeenan/perl5/perlbrew/perls/perl-5.18.4/lib/5.18.4/ExtUtils/xsubpp -typemap /home/jkeenan/perl5/perlbrew/perls/perl-5.18.4/lib/5.18.4/ExtUtils/typemap -typemap typemap SSLeay.xs > SSLeay.xsc && mv SSLeay.xsc SSLeay.c cc -c -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"1.69\" -DXS_VERSION=\"1.69\" -fPIC "-I/home/jkeenan/perl5/perlbrew/perls/perl-5.18.4/lib/5.18.4/x86_64-linux/CORE" SSLeay.c SSLeay.xs:163:25: fatal error: openssl/err.h: No such file or directory #include <openssl/err.h> ^ compilation terminated. make: *** [SSLeay.o] Error 1 #####
On Fri Jun 12 12:56:32 2015, ETHER wrote: Show quoted text
> This looks like the important bit: > > SSLeay.xs:163:25: fatal error: openssl/err.h: No such file or > directory > > So I suspect that the perl version is not important here, but rather > that your openssl installation is not compatible. Can you confirm by > trying to install again on an earlier perl version?
The system (Ubuntu 14.04 LTS) perl does have Net::SSLeay. ##### $ /usr/bin/perl -v |head -3 | tail -2 This is perl 5, version 18, subversion 2 (v5.18.2) built for x86_64-linux-gnu-thread-multi (with 41 registered patches, see perl -V for more detail) $ /usr/bin/perl -MNet::SSLeay -E 'say $Net::SSLeay::VERSION' 1.58 #####
Note to the maintainers -- checking at Makefile.PL time for the presence of the required .h or .so files might be useful -- I use Devel::CheckLib for that.
On Fri Jun 12 13:40:50 2015, JKEENAN wrote: Show quoted text
> On Fri Jun 12 12:56:32 2015, ETHER wrote:
> > This looks like the important bit: > > > > SSLeay.xs:163:25: fatal error: openssl/err.h: No such file or > > directory > > > > So I suspect that the perl version is not important here, but rather > > that your openssl installation is not compatible. Can you confirm by > > trying to install again on an earlier perl version?
> > Attempted with 5.20.1, attached. >
Since openssl-1.0.1f is the latest version available with my version of Ubuntu, I manually installed openssl-1.0.2c from a tarball obtained from https://www.openssl.org/source/openssl-1.0.2c.tar.gz. I then established symlinks such that /usr/bin/openssl would point to /usr/local/ssl/bin/openssl. I again tried 'cpanm install Net::SSLeay' and failed with the same error, notwithstanding the fact that the cpanm correctly located the updated version of openssl: ##### *** Found OpenSSL-1.0.2c installed in /usr *** Be sure to use the same compiler and options to compile your OpenSSL, perl, and Net::SSLeay. Mixing and matching compilers is not supported. ##### Which leads me to suspect that, to get this to work, I would have to recompile perl-5.22.0 against the updated openssl. I'm not sure that I want to go to all that effort, as that would entail re-compiling all the CPAN modules I've already installed against perl-5.22.0. Thank you very much. Jim Keenan
On Fri Jun 12 14:30:31 2015, JKEENAN wrote: Show quoted text
> On Fri Jun 12 13:40:50 2015, JKEENAN wrote:
> > On Fri Jun 12 12:56:32 2015, ETHER wrote:
> > > This looks like the important bit: > > > > > > SSLeay.xs:163:25: fatal error: openssl/err.h: No such file or > > > directory > > > > > > So I suspect that the perl version is not important here, but > > > rather > > > that your openssl installation is not compatible. Can you confirm > > > by > > > trying to install again on an earlier perl version?
> > > > Attempted with 5.20.1, attached. > >
> > Since openssl-1.0.1f is the latest version available with my version > of Ubuntu, I manually installed openssl-1.0.2c from a tarball obtained > from https://www.openssl.org/source/openssl-1.0.2c.tar.gz. I then > established symlinks such that /usr/bin/openssl would point to > /usr/local/ssl/bin/openssl. > > I again tried 'cpanm install Net::SSLeay' and failed with the same > error, notwithstanding the fact that the cpanm correctly located the > updated version of openssl: > > ##### > *** Found OpenSSL-1.0.2c installed in /usr > *** Be sure to use the same compiler and options to compile your > OpenSSL, perl, > and Net::SSLeay. Mixing and matching compilers is not supported. > ##### > > Which leads me to suspect that, to get this to work, I would have to > recompile perl-5.22.0 against the updated openssl. I'm not sure that > I want to go to all that effort, as that would entail re-compiling all > the CPAN modules I've already installed against perl-5.22.0.
haarg++ suggested on IRC that I install libssl-dev. That did the trick. Thereafter I was able to install Net::SSLeay without incident and then install the distribution I really wanted, one for which Net::SSLeay was a prerequisite. That being said, what ether mentioned earlier bears repeating: Net::SSLeay's Makefile.PL ought to check for libraries needed. The fact that it does not caused a lot of wasted time on the part of 3 CPAN contributors today. Thank you very much. Jim Keenan