Skip Menu |

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

Report information
The Basics
Id: 116663
Status: open
Priority: 0/
Queue: Crypt-SSLeay

People
Owner: nanis [...] runu.moc.invalid
Requestors: leonerd-cpan [...] leonerd.org.uk
Cc:
AdminCc:

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



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
On 2016-08-02 13:30:55, PEVANS wrote: Show quoted text
> 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. > -----
Probably the same issue as https://rt.cpan.org/Ticket/Display.html?id=118343 (which includes a patch).
I am aware of this issue and I'll get it to it. However, there is no reason to use this module if you are indeed on the latest Debian. Please see <https://metacpan.org/pod/Crypt::SSLeay#DO-YOU-NEED-Crypt::SSLeay%3F> Other programs or libraries should declare a dependency on LWP::Protocol::https and get the benefits of using IO::Socket::SSL/Net::SSLeay. Thank you. -- Sinan