Subject: | Net::SSLeay-1.67 build break on OSX-Mavericks |
Date: | Mon, 19 Jan 2015 06:37:15 -0600 |
To: | bug-Net-SSLeay [...] rt.cpan.org |
From: | David Favor <david [...] davidfavor.com> |
First time I've ever had a build break with this module.
Great code.
No breaks on last few versions of Ubuntu, only on OSX-Mavericks.
My guess, this is about symbol naming in 32 vs 64 bit libraries.
This problem duplicates on ever test, as a missing symbol breaks all.
Installing Net::SSLeay (1.67)
Running [/usr/bin/make test]...
PERL_DL_NONLAZY=1 "/opt/local/bin/perl5.20" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'inc', 'blib/lib', 'blib/arch')" t/*/*.t t/*/*/*.t
Can't load '/Users/david/.cpanplus/5.20.1/build/Net-SSLeay-1.67/blib/arch/auto/Net/SSLeay/SSLeay.bundle' for module Net::SSLeay:
dlopen(/Users/david/.cpanplus/5.20.1/build/Net-SSLeay-1.67/blib/arch/auto/Net/SSLeay/SSLeay.bundle, 2): Symbol not found: _CRYPTO_THREADID_get_callback
Referenced from: /Users/david/.cpanplus/5.20.1/build/Net-SSLeay-1.67/blib/arch/auto/Net/SSLeay/SSLeay.bundle
Expected in: flat namespace
in /Users/david/.cpanplus/5.20.1/build/Net-SSLeay-1.67/blib/arch/auto/Net/SSLeay/SSLeay.bundle at /opt/local/lib/perl5/5.20/darwin-thread-multi-2level/DynaLoader.pm line 197.
at t/external/08_external.t line 7.
Compilation failed in require at t/external/08_external.t line 7.
BEGIN failed--compilation aborted at t/external/08_external.t line 7.
t/external/08_external.t ...............
Dubious, test returned 2 (wstat 512, 0x200)
No subtests run
The file command indicates the magic number is correct...
imac# file /Users/david/.cpanplus/5.20.1/build/Net-SSLeay-1.67/blib/arch/auto/Net/SSLeay/SSLeay.bundle
/Users/david/.cpanplus/5.20.1/build/Net-SSLeay-1.67/blib/arch/auto/Net/SSLeay/SSLeay.bundle: Mach-O 64-bit bundle x86_64
And this seems suspicious.
imac# otool -vTV /Users/david/.cpanplus/5.20.1/build/Net-SSLeay-1.67/blib/arch/auto/Net/SSLeay/SSLeay.bundle
/Users/david/.cpanplus/5.20.1/build/Net-SSLeay-1.67/blib/arch/auto/Net/SSLeay/SSLeay.bundle:
Table of contents (0 entries)
module name symbol name
No symbol names in library.
And... there's something in this file...
imac# ll /Users/david/.cpanplus/5.20.1/build/Net-SSLeay-1.67/blib/arch/auto/Net/SSLeay/SSLeay.bundle
-rwxr-xr-x 1 root staff 436K Jan 19 06:19 /Users/david/.cpanplus/5.20.1/build/Net-SSLeay-1.67/blib/arch/auto/Net/SSLeay/SSLeay.bundle*
Chained libraries look correct...
imac# otool -L /Users/david/.cpanplus/5.20.1/build/Net-SSLeay-1.67/blib/arch/auto/Net/SSLeay/SSLeay.bundle
/Users/david/.cpanplus/5.20.1/build/Net-SSLeay-1.67/blib/arch/auto/Net/SSLeay/SSLeay.bundle:
/usr/lib/libssl.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8)
/usr/lib/libcrypto.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)