ebuild fails already in the configure phase: * Package: dev-perl/IO-Socket-SSL-2.48.0 * Repository: gentoo * Maintainer: perl@gentoo.org * USE: abi_x86_64 amd64 elibc_glibc kernel_linux userland_GNU * FEATURES: preserve-libs sandbox userpriv usersandbox >>> Unpacking source... >>> Unpacking IO-Socket-SSL-2.048.tar.gz to /var/tmp/portage/dev-perl/IO-Socket-SSL-2.48.0/work >>> Source unpacked in /var/tmp/portage/dev-perl/IO-Socket-SSL-2.48.0/work >>> Preparing source in /var/tmp/portage/dev-perl/IO-Socket-SSL-2.48.0/work/IO-Socket-SSL-2.048 ... >>> Source prepared. >>> Configuring source in /var/tmp/portage/dev-perl/IO-Socket-SSL-2.48.0/work/IO-Socket-SSL-2.048 ... * Using ExtUtils::MakeMaker * perl Makefile.PL PREFIX=/usr INSTALLDIRS=vendor INSTALLMAN3DIR=none DESTDIR=/var/tmp/portage/dev-perl/IO-Socket-SSL-2.48.0/image/ perl: symbol lookup error: /usr/lib64/perl5/vendor_perl/5.24.3/x86_64-linux-thread-multi/auto/Net/SSLeay/SSLeay.so: undefined symbol: SSLeay_version * ERROR: dev-perl/IO-Socket-SSL-2.48.0::gentoo failed (configure phase): * Unable to build! Reproducible: Always
Created attachment 497256 [details] Complete build log
> auto/Net/SSLeay/SSLeay.so: undefined symbol: SSLeay_version This is a broken dev-perl/Net-SSLeay, not anything IO-Socket-SSL What's your dev-perl/Net-SSLeay version?
1.810.0, recompiled several times without issues.
(In reply to Markus Wernig from comment #3) > 1.810.0, recompiled several times without issues. Can you do FEATURES="test" for Net-SSLeay? Does that pass OK?
I assume you want that against openssl-1.1.0f? Will take some time, since I've downgraded to 1.0.2l and the system is currently struggling with compiling gcc-6.4 ... Will report back.
(In reply to Markus Wernig from comment #5) > I assume you want that against openssl-1.1.0f? Yeah. Thanks.
(In reply to Kent Fredric (IRC: kent\n) from comment #4) > (In reply to Markus Wernig from comment #3) > > 1.810.0, recompiled several times without issues. > > Can you do FEATURES="test" for Net-SSLeay? Does that pass OK? Back again. No, that does not pass, with undefined symbol errors: ... chmod 755 blib/arch/auto/Net/SSLeay/SSLeay.so "/usr/bin/perl" "-Iinc" -MExtUtils::Command::MM -e 'cp_nonempty' -- SSLeay.bs blib/arch/auto/Net/SSLeay/SSLeay.bs 644 >>> Source compiled. >>> Test phase: dev-perl/Net-SSLeay-1.810.0 * Test::Harness Jobs=3 make -j3 test TEST_VERBOSE=0 Running Mkbootstrap for Net::SSLeay () chmod 644 "SSLeay.bs" PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'inc', 'blib/lib', 'blib/arch')" t/local/*.t t/handle/local/*.t ===( 1;0 0/1 1/1 0/? )========================================= # Failed test 'use Net::SSLeay;' # at t/local/03_use.t line 8. # Tried to use 'Net::SSLeay'. # Error: Can't load '/var/tmp/portage/dev-perl/Net-SSLeay-1.810.0/work/Net-SSLeay-1.81/blib/arch/auto/Net/SSLeay/SSLeay.so' for module Net::SSLeay: /var/tmp/portage/dev-perl/Net-SSLeay-1.810.0/work/Net-SSLeay-1.81/blib/arch/auto/Net/SSLeay/SSLeay.so: undefined symbol: TLSv1_method at /usr/lib64/perl5/5.24.3/x86_64-linux-thread-multi/DynaLoader.pm line 193. # at t/local/03_use.t line 8. # Compilation failed in require at t/local/03_use.t line 8. # BEGIN failed--compilation aborted at t/local/03_use.t line 8. # Looks like you failed 1 test of 1. t/local/03_use.t ....................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ===( 2;0 1/1 0/? 0/? )========================================= # Failed test 'use Net::SSLeay::Handle;' # at t/handle/local/05_use.t line 8. # Tried to use 'Net::SSLeay::Handle'. # Error: Can't load '/var/tmp/portage/dev-perl/Net-SSLeay-1.810.0/work/Net-SSLeay-1.81/blib/arch/auto/Net/SSLeay/SSLeay.so' for module Net::SSLeay: /var/tmp/portage/dev-perl/Net-SSLeay-1.810.0/work/Net-SSLeay-1.81/blib/arch/auto/Net/SSLeay/SSLeay.so: undefined symbol: TLSv1_method at /usr/lib64/perl5/5.24.3/x86_64-linux-thread-multi/DynaLoader.pm line 193. # at /var/tmp/portage/dev-perl/Net-SSLeay-1.810.0/work/Net-SSLeay-1.81/blib/lib/Net/SSLeay/Handle.pm line 7. # Compilation failed in require at /var/tmp/portage/dev-perl/Net-SSLeay-1.810.0/work/Net-SSLeay-1.81/blib/lib/Net/SSLeay/Handle.pm line 7. # BEGIN failed--compilation aborted at /var/tmp/portage/dev-perl/Net-SSLeay-1.810.0/work/Net-SSLeay-1.81/blib/lib/Net/SSLeay/Handle.pm line 7. # Compilation failed in require at t/handle/local/05_use.t line 8. # BEGIN failed--compilation aborted at t/handle/local/05_use.t line 8. # Looks like you failed 1 test of 1. t/handle/local/05_use.t ................ Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests ... (Complete build log attached)
Created attachment 497292 [details] Net-SSLeay build log
Confirming same issue, on a new install. # package.unmask# required by net-nds/openldap-2.4.45::gentoo[ssl,-gnutls,-libressl] # required by net-misc/curl-7.56.0::gentoo[ldap] # required by dev-util/cmake-3.9.4::gentoo # required by sys-devel/llvm-5.0.0::gentoo # required by media-libs/mesa-17.2.2::gentoo[-opencl,-video_cards_radeonsi,-video_cards_radeon,llvm,-video_cards_r600] # required by dev-qt/qtgui-5.9.2::gentoo[egl] # required by dev-qt/qtwidgets-5.9.2::gentoo # required by app-crypt/pinentry-1.0.0-r1::gentoo[qt5] # required by app-crypt/gnupg-2.2.1::gentoo # required by dev-vcs/git-2.14.2::gentoo[gpg] # required by dev-vcs/git (argument) # /usr/portage/profiles/package.mask: # Lars Wendler <polynomial-c@gentoo.org> (26 Aug 2016) # Masked while being tested and reverse deps aren't fully compatible =dev-libs/openssl-1.1.0f So I was recommended by portage to unmask openssl, and then ran straight into this bug.
dev-perl/Net-SSLeay-1.810.0 has undefined symbols when built with dev-libs/openssl-1.1.0f # ldd -r /usr/lib64/perl5/vendor_perl/5.26.1/x86_64-linux/auto/Net/SSLeay/SSLeay.so | grep _method undefined symbol: TLSv1_method (/usr/lib64/perl5/vendor_perl/5.26.1/x86_64-linux/auto/Net/SSLeay/SSLeay.so) undefined symbol: TLSv1_1_method (/usr/lib64/perl5/vendor_perl/5.26.1/x86_64-linux/auto/Net/SSLeay/SSLeay.so) undefined symbol: TLSv1_2_method (/usr/lib64/perl5/vendor_perl/5.26.1/x86_64-linux/auto/Net/SSLeay/SSLeay.so) # fquery b /usr/lib64/perl5/vendor_perl/5.26.1/x86_64-linux/auto/Net/SSLeay/SSLeay.so dev-perl/Net-SSLeay-1.810.0 (/usr/lib64/perl5/vendor_perl/5.26.1/x86_64-linux/auto/Net/SSLeay/SSLeay.so) #
Created attachment 499052 [details, diff] Net-SSLeay-1.810.0-openssl-1.1.patch Patch by me to dev-perl/Net-SSLeay-1.810.0 that allows dev-perl/IO-Socket-SSL-2.48.0 to build with dev-libs/openssl-1.1.0f. However dev-perl/IO-Socket-SSL-2.48.0 fails 2 tests which are in code that I tweaked in my patch, but with a quick look I didn't spot if I did anything wrong: t/plain_upgrade_downgrade.t ....... ok ===( 200;15 9/15 6/16 2/3 7/27 3/? 0/79 0/? )===============( 202;15 10/15 6/16 2/3 7/27 3/? 1/79 0/? 0/? )=======# looks like OpenSSL was compiled without SSLv3 support # Failed test 'accept TLSv1 with TLSv1' # at t/protocol_version.t line 133. # got: 'TLSv1_2' # expected: 'TLSv1' # Failed test 'accept TLSv1_1 with TLSv1_1' # at t/protocol_version.t line 133. # got: 'TLSv1_2' # expected: 'TLSv1_1' # Looks like you failed 2 tests of 7. t/protocol_version.t .............. Dubious, test returned 2 (wstat 512, 0x200) Failed 2/7 subtests
(In reply to Mark Wright from comment #11) > Created attachment 499052 [details, diff] [details, diff] > Net-SSLeay-1.810.0-openssl-1.1.patch > > Patch by me to dev-perl/Net-SSLeay-1.810.0 that allows > dev-perl/IO-Socket-SSL-2.48.0 to build with dev-libs/openssl-1.1.0f. > However dev-perl/IO-Socket-SSL-2.48.0 fails 2 tests which are in code that I > tweaked in my patch, but with a quick look I didn't spot if I did anything > wrong: > > t/plain_upgrade_downgrade.t ....... ok > ===( 200;15 9/15 6/16 2/3 7/27 3/? 0/79 0/? )===============( > 202;15 10/15 6/16 2/3 7/27 3/? 1/79 0/? 0/? )=======# looks like > OpenSSL was compiled without SSLv3 support > > # Failed test 'accept TLSv1 with TLSv1' > # at t/protocol_version.t line 133. > # got: 'TLSv1_2' > # expected: 'TLSv1' > > # Failed test 'accept TLSv1_1 with TLSv1_1' > # at t/protocol_version.t line 133. > # got: 'TLSv1_2' > # expected: 'TLSv1_1' > # Looks like you failed 2 tests of 7. > > t/protocol_version.t .............. Dubious, test returned 2 (wstat 512, > 0x200) > Failed 2/7 subtests I suspect that problem might go away based on reading the changes for IO-Socket-SSL 2.520.0 ( Just pushed ) I've not been brave enough to test OpenSSL 1.1 yet so if you can confirm that, it would be great :)
Please re-open if you can replicate this issue with the latest versions of Net-SSLeay and IO-Socket-SSL, thanks.