Subject: | Fails to build on latest debian |
Latest debian has now disabled the legacy SSLv3 support; as noted in their changelog:
openssl (1.0.2d-2) experimental; urgency=medium
* Build with no-ssl3-method to remove all SSLv3 support. This results in
the functions SSLv3_method(), SSLv3_server_method() and
SSLv3_client_method() being removed from libssl. Change the soname as
result of that and also changes name of the binary package.
(Closes: #768476)
This has the effect that Crypt::SSLeay can no longer build:
-----
$ make
...
"/usr/bin/perl" "/usr/share/perl/5.22/ExtUtils/xsubpp" -typemap "/usr/share/perl/5.22/ExtUtils/typemap" -typemap "typemap" SSLeay.xs > SSLeay.xsc && mv SSLeay.xsc SSLeay.c
x86_64-linux-gnu-gcc -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"0.72\" -DXS_VERSION=\"0.72\" -fPIC "-I/usr/lib/x86_64-linux-gnu/perl/5.22/CORE" SSLeay.c
SSLeay.xs: In function ‘XS_Crypt__SSLeay__CTX_new’:
SSLeay.xs:152:31: warning: implicit declaration of function ‘SSLv3_client_method’ [-Wimplicit-function-declaration]
ctx = SSL_CTX_new(SSLv3_client_method());
^
SSLeay.xs:152:31: warning: passing argument 1 of ‘SSL_CTX_new’ makes pointer from integer without a cast [-Wint-conversion]
In file included from SSLeay.xs:35:0:
/usr/include/openssl/ssl.h:2131:10: note: expected ‘const SSL_METHOD * {aka const struct ssl_method_st *}’ but argument is of type ‘int’
SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth);
^
SSLeay.xs:160:31: warning: passing argument 1 of ‘SSL_CTX_new’ makes pointer from integer without a cast [-Wint-conversion]
ctx = SSL_CTX_new(SSLv3_client_method());
^
In file included from SSLeay.xs:35:0:
/usr/include/openssl/ssl.h:2131:10: note: expected ‘const SSL_METHOD * {aka const struct ssl_method_st *}’ but argument is of type ‘int’
SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth);
^
rm -f blib/arch/auto/Crypt/SSLeay/SSLeay.so
x86_64-linux-gnu-gcc -shared -L/usr/local/lib -fstack-protector-strong SSLeay.o -o blib/arch/auto/Crypt/SSLeay/SSLeay.so \
-lssl -lcrypto -lz \
chmod 755 blib/arch/auto/Crypt/SSLeay/SSLeay.so
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- SSLeay.bs blib/arch/auto/Crypt/SSLeay/SSLeay.bs 644
Manifying 3 pod documents
$ make test
Running Mkbootstrap for Crypt::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, 'blib/lib', 'blib/arch')" t/*.t
t/00-basic.t ..... 1/?
# Failed test 'use Crypt::SSLeay;'
# at t/00-basic.t line 6.
# Tried to use 'Crypt::SSLeay'.
# Error: Can't load '/home/leo/.cpan/build/Crypt-SSLeay-0.72-BgDW2u/blib/arch/auto/Crypt/SSLeay/SSLeay.so' for module Crypt::SSLeay: /home/leo/.cpan/build/Crypt-SSLeay-0.72-BgDW2u/blib/arch/auto/Crypt/SSLeay/SSLeay.so: undefined symbol: SSLv3_client_method at /usr/lib/x86_64-linux-gnu/perl/5.22/DynaLoader.pm line 187.
# at t/00-basic.t line 6.
# Compilation failed in require at t/00-basic.t line 6.
# BEGIN failed--compilation aborted at t/00-basic.t line 6.
-----
--
Paul Evans