Skip Menu |

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

Report information
The Basics
Id: 28680
Status: resolved
Priority: 0/
Queue: Crypt-SSLeay

People
Owner: nanis [...] runu.moc.invalid
Requestors: alex.peeters [...] citap.be
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in:
  • 0.51
  • 0.56
Fixed in: 0.57_03



Solaris 9: perl Makefile.PL ... ======================================================= Only one OpenSSL installation found at /usr/local/ssl Consider running 'perl Makefile.PL --default' the next time Crypt::SSLeay is upgraded to select this directory automatically thereby avoiding the following prompt. ======================================================= Which SSL install path do you want to use? [/usr/local/ssl] /opt/supervision/ssl make cp lib/Crypt/SSLeay/X509.pm blib/lib/Crypt/SSLeay/X509.pm cp lib/Net/SSL.pm blib/lib/Net/SSL.pm cp SSLeay.pm blib/lib/Crypt/SSLeay.pm cp lib/Crypt/SSLeay/MainContext.pm blib/lib/Crypt/SSLeay/MainContext.pm cp lib/Crypt/SSLeay/Conn.pm blib/lib/Crypt/SSLeay/Conn.pm cp lib/Crypt/SSLeay/CTX.pm blib/lib/Crypt/SSLeay/CTX.pm cp lib/Crypt/SSLeay/Err.pm blib/lib/Crypt/SSLeay/Err.pm /usr/local/bin/perl /opt/supervision/cpan-shared/lib/perl5/ExtUtils/xsubpp -typemap /usr/local/lib/perl5/5.8.7/ExtUtils/typemap -typemap typemap SSLeay.xs Show quoted text
> SSLeay.xsc && mv SSLeay.xsc SSLeay.c
gcc -c -I/opt/supervision/ssl/include/openssl -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O -DVERSION=\"0.56\" -DXS_VERSION=\"0.56\" -fPIC "-I/usr/local/lib/perl5/5.8.7/sun4-solaris/CORE" SSLeay.c In file included from SSLeay.xs:25: crypt_ssleay_version.h:1:25: openssl/ssl.h: No such file or directory crypt_ssleay_version.h:2:28: openssl/crypto.h: No such file or directory crypt_ssleay_version.h:3:25: openssl/err.h: No such file or directory crypt_ssleay_version.h:4:26: openssl/rand.h: No such file or directory crypt_ssleay_version.h:5:28: openssl/pkcs12.h: No such file or directory Line with problems is gcc -c -I/opt/supervision/ssl/include/openssl -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O -DVERSION=\"0.56\" -DXS_VERSION=\"0.56\" -fPIC "-I/usr/local/lib/perl5/5.8.7/sun4-solaris/CORE" SSLeay.c When i change -I/opt/supervision/ssl/include/openssl into -I/opt/supervision/ssl/include fore solaris 9 like: gcc -c -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O -DVERSION=\"0.56\" -DXS_VERSION=\"0.56\" -fPIC "-I/usr/local/lib/perl5/5.8.7/sun4-solaris/CORE" SSLeay.c -I/usr/local/include -I/opt/supervision/ssl/include it works fine. Can you fix this long time existing problems PLEASE.
Subject: Can't find "openssl/ssl.h" - PATCH available here
From: Sergio Salvi
I was having the same problem and wrote a patch to fix it (file attached). On Mon Aug 06 04:23:11 2007, ASNMTAP wrote: Show quoted text
> Solaris 9: > > perl Makefile.PL > ... > ======================================================= > Only one OpenSSL installation found at /usr/local/ssl > Consider running 'perl Makefile.PL --default' the next > time Crypt::SSLeay is upgraded to select this directory > automatically thereby avoiding the following prompt. > ======================================================= > Which SSL install path do you want to use? [/usr/local/ssl] > /opt/supervision/ssl > > > make > cp lib/Crypt/SSLeay/X509.pm blib/lib/Crypt/SSLeay/X509.pm > cp lib/Net/SSL.pm blib/lib/Net/SSL.pm > cp SSLeay.pm blib/lib/Crypt/SSLeay.pm > cp lib/Crypt/SSLeay/MainContext.pm blib/lib/Crypt/SSLeay/MainContext.pm > cp lib/Crypt/SSLeay/Conn.pm blib/lib/Crypt/SSLeay/Conn.pm > cp lib/Crypt/SSLeay/CTX.pm blib/lib/Crypt/SSLeay/CTX.pm > cp lib/Crypt/SSLeay/Err.pm blib/lib/Crypt/SSLeay/Err.pm > /usr/local/bin/perl > /opt/supervision/cpan-shared/lib/perl5/ExtUtils/xsubpp -typemap > /usr/local/lib/perl5/5.8.7/ExtUtils/typemap -typemap typemap SSLeay.xs
> > SSLeay.xsc && mv SSLeay.xsc SSLeay.c
> gcc -c -I/opt/supervision/ssl/include/openssl -fno-strict-aliasing > -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O > -DVERSION=\"0.56\" -DXS_VERSION=\"0.56\" -fPIC > "-I/usr/local/lib/perl5/5.8.7/sun4-solaris/CORE" SSLeay.c > In file included from SSLeay.xs:25: > crypt_ssleay_version.h:1:25: openssl/ssl.h: No such file or directory > crypt_ssleay_version.h:2:28: openssl/crypto.h: No such file or directory > crypt_ssleay_version.h:3:25: openssl/err.h: No such file or directory > crypt_ssleay_version.h:4:26: openssl/rand.h: No such file or directory > crypt_ssleay_version.h:5:28: openssl/pkcs12.h: No such file or directory > > > Line with problems is gcc -c -I/opt/supervision/ssl/include/openssl > -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64 -O -DVERSION=\"0.56\" -DXS_VERSION=\"0.56\" > -fPIC "-I/usr/local/lib/perl5/5.8.7/sun4-solaris/CORE" SSLeay.c > > When i change -I/opt/supervision/ssl/include/openssl into > -I/opt/supervision/ssl/include fore solaris 9 like: > > gcc -c -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64 -O -DVERSION=\"0.56\" -DXS_VERSION=\"0.56\" -fPIC > "-I/usr/local/lib/perl5/5.8.7/sun4-solaris/CORE" SSLeay.c > -I/usr/local/include -I/opt/supervision/ssl/include > > it works fine. > > Can you fix this long time existing problems PLEASE.
--- Makefile.PL.orig 2007-07-10 15:46:53.000000000 -0300 +++ Makefile.PL 2007-08-06 22:46:20.000000000 -0300 @@ -347,6 +347,9 @@ print "$dir/$libd does not seem to contain the SSLeay library files\n" unless $foundlib; + # ".../include/openssl" becomes ".../include", so "#include <openssl/ssl.h>" works + $inc_dir =~ s|/openssl$||g; + return { dir => $dir, inc => $inc_dir,
Subject: Re: [rt.cpan.org #28680] Can't find "openssl/ssl.h" - PATCH available here
Date: Tue, 07 Aug 2007 11:07:55 +0200
To: bug-Crypt-SSLeay [...] rt.cpan.org
From: David Landgren <david [...] landgren.net>
Sergio Salvi via RT wrote: Show quoted text
> Queue: Crypt-SSLeay > Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=28680 > > > I was having the same problem and wrote a patch to fix it (file attached).
Ah great, thanks for this. I'm a little short on time right now so I don't know if I'll be able to release a new version before I go offline for two weeks. If not, I will release a new version at the end of August. Thanks, David Show quoted text
> On Mon Aug 06 04:23:11 2007, ASNMTAP wrote:
>> Solaris 9: >> >> perl Makefile.PL >> ... >> ======================================================= >> Only one OpenSSL installation found at /usr/local/ssl >> Consider running 'perl Makefile.PL --default' the next >> time Crypt::SSLeay is upgraded to select this directory >> automatically thereby avoiding the following prompt. >> ======================================================= >> Which SSL install path do you want to use? [/usr/local/ssl] >> /opt/supervision/ssl >> >> >> make >> cp lib/Crypt/SSLeay/X509.pm blib/lib/Crypt/SSLeay/X509.pm >> cp lib/Net/SSL.pm blib/lib/Net/SSL.pm >> cp SSLeay.pm blib/lib/Crypt/SSLeay.pm >> cp lib/Crypt/SSLeay/MainContext.pm blib/lib/Crypt/SSLeay/MainContext.pm >> cp lib/Crypt/SSLeay/Conn.pm blib/lib/Crypt/SSLeay/Conn.pm >> cp lib/Crypt/SSLeay/CTX.pm blib/lib/Crypt/SSLeay/CTX.pm >> cp lib/Crypt/SSLeay/Err.pm blib/lib/Crypt/SSLeay/Err.pm >> /usr/local/bin/perl >> /opt/supervision/cpan-shared/lib/perl5/ExtUtils/xsubpp -typemap >> /usr/local/lib/perl5/5.8.7/ExtUtils/typemap -typemap typemap SSLeay.xs
>>> SSLeay.xsc && mv SSLeay.xsc SSLeay.c
>> gcc -c -I/opt/supervision/ssl/include/openssl -fno-strict-aliasing >> -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O >> -DVERSION=\"0.56\" -DXS_VERSION=\"0.56\" -fPIC >> "-I/usr/local/lib/perl5/5.8.7/sun4-solaris/CORE" SSLeay.c >> In file included from SSLeay.xs:25: >> crypt_ssleay_version.h:1:25: openssl/ssl.h: No such file or directory >> crypt_ssleay_version.h:2:28: openssl/crypto.h: No such file or directory >> crypt_ssleay_version.h:3:25: openssl/err.h: No such file or directory >> crypt_ssleay_version.h:4:26: openssl/rand.h: No such file or directory >> crypt_ssleay_version.h:5:28: openssl/pkcs12.h: No such file or directory >> >> >> Line with problems is gcc -c -I/opt/supervision/ssl/include/openssl >> -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE >> -D_FILE_OFFSET_BITS=64 -O -DVERSION=\"0.56\" -DXS_VERSION=\"0.56\" >> -fPIC "-I/usr/local/lib/perl5/5.8.7/sun4-solaris/CORE" SSLeay.c >> >> When i change -I/opt/supervision/ssl/include/openssl into >> -I/opt/supervision/ssl/include fore solaris 9 like: >> >> gcc -c -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE >> -D_FILE_OFFSET_BITS=64 -O -DVERSION=\"0.56\" -DXS_VERSION=\"0.56\" -fPIC >> "-I/usr/local/lib/perl5/5.8.7/sun4-solaris/CORE" SSLeay.c >> -I/usr/local/include -I/opt/supervision/ssl/include >> >> it works fine. >> >> Can you fix this long time existing problems PLEASE.
> > >
Hello, I have released a development snapshot (0.56_01). Could you take it for a spin and let me know how it goes? Thanks, David
From: alex.peeters [...] citap.be
perl Makefile.PL ======================================================= Only one OpenSSL installation found at /usr/local/ssl Consider running 'perl Makefile.PL --default' the next time Crypt::SSLeay is upgraded to select this directory automatically thereby avoiding the following prompt. ======================================================= Which SSL install path do you want to use? [/usr/local/ssl] /opt/supervision/ssl BUILD INFORMATION ================================================ ssl library: OpenSSL 0.9.7 in /opt/supervision/ssl ssl header: ssl.h libraries: -L/opt/supervision/ssl/lib -lssl -lcrypto -lgcc include dir: -I/opt/supervision/ssl/include ================================================ Checking if your kit is complete... Looks good Note (probably harmless): No library found for -lgcc Writing Makefile for Crypt::SSLeay The test suite can attempt to connect to public servers to ensure that the code is working properly. If you are behind a strict firewall or have no network connectivity, these tests may fail (through no fault of the code). Do you want to run the live tests (y/N) ? [N] bash-3.1$ make cp lib/Crypt/SSLeay/X509.pm blib/lib/Crypt/SSLeay/X509.pm cp lib/Net/SSL.pm blib/lib/Net/SSL.pm cp SSLeay.pm blib/lib/Crypt/SSLeay.pm cp lib/Crypt/SSLeay/MainContext.pm blib/lib/Crypt/SSLeay/MainContext.pm cp lib/Crypt/SSLeay/Conn.pm blib/lib/Crypt/SSLeay/Conn.pm cp lib/Crypt/SSLeay/CTX.pm blib/lib/Crypt/SSLeay/CTX.pm cp lib/Crypt/SSLeay/Err.pm blib/lib/Crypt/SSLeay/Err.pm /usr/local/bin/perl /opt/supervision/cpan-shared/lib/perl5/ExtUtils/xsubpp -typ emap /usr/local/lib/perl5/5.8.7/ExtUtils/typemap -typemap typemap SSLeay.xs Show quoted text
> S
SLeay.xsc && mv SSLeay.xsc SSLeay.c gcc -c -I/opt/supervision/ssl/include -fno-strict-aliasing -pipe -I/usr/local/i nclude -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O -DVERSION=\"0.56_01\" -DX S_VERSION=\"0.56_01\" -fPIC "-I/usr/local/lib/perl5/5.8.7/sun4-solaris/CORE" S SLeay.c In file included from SSLeay.xs:25: crypt_ssleay_version.h:1:17: ssl.h: No such file or directory crypt_ssleay_version.h:2:20: crypto.h: No such file or directory crypt_ssleay_version.h:3:17: err.h: No such file or directory crypt_ssleay_version.h:4:18: rand.h: No such file or directory crypt_ssleay_version.h:5:20: pkcs12.h: No such file or directory SSLeay.xs:43: error: parse error before '*' token SSLeay.xs: In function `InfoCallback': SSLeay.xs:48: error: `where' undeclared (first use in this function) SSLeay.xs:48: error: (Each undeclared identifier is reported only once SSLeay.xs:48: error: for each function it appears in.) SSLeay.xs:48: error: `SSL_ST_MASK' undeclared (first use in this function) SSLeay.xs:50: error: `SSL_ST_CONNECT' undeclared (first use in this function) SSLeay.xs:52: error: `SSL_ST_ACCEPT' undeclared (first use in this function) SSLeay.xs:57: error: `SSL_CB_LOOP' undeclared (first use in this function) SSLeay.xs:58: error: `s' undeclared (first use in this function) SSLeay.xs:60: error: `SSL_CB_ALERT' undeclared (first use in this function) SSLeay.xs:61: error: `SSL_CB_READ' undeclared (first use in this function) SSLeay.xs:63: error: `ret' undeclared (first use in this function) SSLeay.xs:66: error: `SSL_CB_EXIT' undeclared (first use in this function) SSLeay.c: In function `XS_Crypt__SSLeay__CTX_new': SSLeay.c:126: error: `SSL_CTX' undeclared (first use in this function) SSLeay.c:126: error: `RETVAL' undeclared (first use in this function) SSLeay.xs:102: error: `ctx' undeclared (first use in this function) SSLeay.xs:135: error: `SSL_OP_ALL' undeclared (first use in this function) SSLeay.xs:137: error: `SSL_VERIFY_NONE' undeclared (first use in this function) SSLeay.c: In function `XS_Crypt__SSLeay__CTX_free': SSLeay.c:182: error: `SSL_CTX' undeclared (first use in this function) SSLeay.c:182: error: `ctx' undeclared (first use in this function) SSLeay.c:186: error: parse error before ')' token SSLeay.c: In function `XS_Crypt__SSLeay__CTX_set_cipher_list': SSLeay.c:205: error: `SSL_CTX' undeclared (first use in this function) SSLeay.c:205: error: `ctx' undeclared (first use in this function) SSLeay.c:212: error: parse error before ')' token SSLeay.c: In function `XS_Crypt__SSLeay__CTX_use_certificate_file': SSLeay.c:232: error: `SSL_CTX' undeclared (first use in this function) SSLeay.c:232: error: `ctx' undeclared (first use in this function) SSLeay.c:240: error: parse error before ')' token SSLeay.c: In function `XS_Crypt__SSLeay__CTX_use_PrivateKey_file': SSLeay.c:260: error: `SSL_CTX' undeclared (first use in this function) SSLeay.c:260: error: `ctx' undeclared (first use in this function) SSLeay.c:268: error: parse error before ')' token SSLeay.c: In function `XS_Crypt__SSLeay__CTX_use_pkcs12_file': SSLeay.c:288: error: `SSL_CTX' undeclared (first use in this function) SSLeay.c:288: error: `ctx' undeclared (first use in this function) SSLeay.xs:170: error: `EVP_PKEY' undeclared (first use in this function) SSLeay.xs:170: error: `pkey' undeclared (first use in this function) SSLeay.xs:171: error: `X509' undeclared (first use in this function) SSLeay.xs:171: error: `cert' undeclared (first use in this function) SSLeay.xs:172: error: `ca' undeclared (first use in this function) SSLeay.xs:173: error: `PKCS12' undeclared (first use in this function) SSLeay.xs:173: error: `p12' undeclared (first use in this function) SSLeay.c:303: error: parse error before ')' token SSLeay.c: In function `XS_Crypt__SSLeay__CTX_check_private_key': SSLeay.c:341: error: `SSL_CTX' undeclared (first use in this function) SSLeay.c:341: error: `ctx' undeclared (first use in this function) SSLeay.c:347: error: parse error before ')' token SSLeay.c: In function `XS_Crypt__SSLeay__CTX_set_verify': SSLeay.c:367: error: `SSL_CTX' undeclared (first use in this function) SSLeay.c:367: error: `ctx' undeclared (first use in this function) SSLeay.c:376: error: parse error before ')' token SSLeay.xs:212: error: `SSL_VERIFY_NONE' undeclared (first use in this function) SSLeay.xs:217: error: `SSL_VERIFY_PEER' undeclared (first use in this function) SSLeay.c: In function `XS_Crypt__SSLeay__Conn_new': SSLeay.c:410: error: `SSL_CTX' undeclared (first use in this function) SSLeay.c:410: error: `ctx' undeclared (first use in this function) SSLeay.xs:231: error: `SSL' undeclared (first use in this function) SSLeay.xs:231: error: `ssl' undeclared (first use in this function) SSLeay.c:415: error: `RETVAL' undeclared (first use in this function) SSLeay.c:419: error: parse error before ')' token SSLeay.c: In function `XS_Crypt__SSLeay__Conn_free': SSLeay.c:466: error: `SSL' undeclared (first use in this function) SSLeay.c:466: error: `ssl' undeclared (first use in this function) SSLeay.c:470: error: parse error before ')' token SSLeay.c: In function `XS_Crypt__SSLeay__Conn_set_fd': SSLeay.c:489: error: `SSL' undeclared (first use in this function) SSLeay.c:489: error: `ssl' undeclared (first use in this function) SSLeay.c:496: error: parse error before ')' token SSLeay.c: In function `XS_Crypt__SSLeay__Conn_connect': SSLeay.c:516: error: `SSL' undeclared (first use in this function) SSLeay.c:516: error: `ssl' undeclared (first use in this function) SSLeay.c:522: error: parse error before ')' token SSLeay.c: In function `XS_Crypt__SSLeay__Conn_accept': SSLeay.c:542: error: `SSL' undeclared (first use in this function) SSLeay.c:542: error: `ssl' undeclared (first use in this function) SSLeay.c:548: error: parse error before ')' token SSLeay.c: In function `XS_Crypt__SSLeay__Conn_write': SSLeay.c:568: error: `SSL' undeclared (first use in this function) SSLeay.c:568: error: `ssl' undeclared (first use in this function) SSLeay.c:580: error: parse error before ')' token SSLeay.c: In function `XS_Crypt__SSLeay__Conn_read': SSLeay.c:626: error: `SSL' undeclared (first use in this function) SSLeay.c:626: error: `ssl' undeclared (first use in this function) SSLeay.c:639: error: parse error before ')' token SSLeay.c: In function `XS_Crypt__SSLeay__Conn_get_peer_certificate': SSLeay.c:693: error: `SSL' undeclared (first use in this function) SSLeay.c:693: error: `ssl' undeclared (first use in this function) SSLeay.c:694: error: `X509' undeclared (first use in this function) SSLeay.c:694: error: `RETVAL' undeclared (first use in this function) SSLeay.c:698: error: parse error before ')' token SSLeay.c: In function `XS_Crypt__SSLeay__Conn_get_verify_result': SSLeay.c:719: error: `SSL' undeclared (first use in this function) SSLeay.c:719: error: `ssl' undeclared (first use in this function) SSLeay.c:724: error: parse error before ')' token SSLeay.xs:373: error: `X509_V_OK' undeclared (first use in this function) SSLeay.c: In function `XS_Crypt__SSLeay__Conn_get_shared_ciphers': SSLeay.c:746: error: `SSL' undeclared (first use in this function) SSLeay.c:746: error: `ssl' undeclared (first use in this function) SSLeay.c:755: error: parse error before ')' token SSLeay.xs:383: warning: assignment makes pointer from integer without a cast SSLeay.c: In function `XS_Crypt__SSLeay__Conn_get_cipher': SSLeay.c:776: error: `SSL' undeclared (first use in this function) SSLeay.c:776: error: `ssl' undeclared (first use in this function) SSLeay.c:782: error: parse error before ')' token SSLeay.c: In function `XS_Crypt__SSLeay__X509_free': SSLeay.c:803: error: `X509' undeclared (first use in this function) SSLeay.c:803: error: `cert' undeclared (first use in this function) SSLeay.c:807: error: parse error before ')' token SSLeay.c: In function `XS_Crypt__SSLeay__X509_subject_name': SSLeay.c:826: error: `X509' undeclared (first use in this function) SSLeay.c:826: error: `cert' undeclared (first use in this function) SSLeay.c:834: error: parse error before ')' token SSLeay.xs:407: warning: assignment makes pointer from integer without a cast SSLeay.c: In function `XS_Crypt__SSLeay__X509_issuer_name': SSLeay.c:858: error: `X509' undeclared (first use in this function) SSLeay.c:858: error: `cert' undeclared (first use in this function) SSLeay.c:866: error: parse error before ')' token SSLeay.xs:419: warning: assignment makes pointer from integer without a cast SSLeay.c: In function `XS_Crypt__SSLeay__X509_get_notBeforeString': SSLeay.c:890: error: `X509' undeclared (first use in this function) SSLeay.c:890: error: `cert' undeclared (first use in this function) SSLeay.c:896: error: parse error before ')' token SSLeay.xs:429: error: invalid type argument of `->' SSLeay.c: In function `XS_Crypt__SSLeay__X509_get_notAfterString': SSLeay.c:917: error: `X509' undeclared (first use in this function) SSLeay.c:917: error: `cert' undeclared (first use in this function) SSLeay.c:923: error: parse error before ')' token SSLeay.xs:437: error: invalid type argument of `->' make: *** [SSLeay.o] Error 1
working line: gcc -c -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O -DVERSION=\"0.56\" -DXS_VERSION=\"0.56\" -fPIC "-I/usr/local/lib/perl5/5.8.7/sun4-solaris/CORE" SSLeay.c -I/usr/local/include -I/opt/supervision/ssl/include patched line: gcc -c -I/opt/supervision/ssl/include -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O -DVERSION=\"0.56_01\" -DXS_VERSION=\"0.56_01\" -fPIC "-I/usr/local/lib/perl5/5.8.7/sun4-solaris/CORE" SSLeay.c is it possible that the order fromthe line is importent ? gcc -c -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O -DVERSION=\"0.56_01\" -DXS_VERSION=\"0.56_01\" -fPIC "-I/usr/local/lib/perl5/5.8.7/sun4-solaris/CORE" SSLeay.c -I/usr/local/include -I/opt/supervision/ssl/include
This has been fixed by code added to Makefile.PL in version 0.57. It works on my Solaris box here. Could you take it for a spin and see if it works for you? Thanks, David
I believe this is fixed in 0.57. Feel free to reply if you still have problems. Thanks for the report, David
Subject: NOT FIXED
From: alex.peeters [...] citap.be

Message body is not shown because it is too large.

On Mon Aug 06 21:55:28 2007, salvix wrote: Show quoted text
> I was having the same problem and wrote a patch to fix it (file attached).
Unfortunately, that patch does not work in all circumstances. As it saws off openssl from the directory, this will cause the configuration to fail on other platforms. I need a better discriminant. Thanks, David
From: dland [...] cpan.org
On Wed Sep 19 03:02:08 2007, ASNMTAP wrote: Show quoted text
> cpan[6]> install Crypt::SSLeay
Show quoted text
> Running install for module 'Crypt::SSLeay' > BUILD INFORMATION > ================================================ > ssl header: openssl/ssl.h > include dir: -I/opt/supervision/ssl/include/openssl > ================================================
Those two things are contradictory. I think I have found out where I can check for this and straighten things out, without breaking other platforms. Could I ask you to take the attached Makefile.PL and run it in your 0.57 build directory and let me know how it behaves? Thanks, David
use strict; use warnings; use Config; use ExtUtils::MakeMaker; use File::Basename qw(dirname); use Getopt::Long; eval "use ExtUtils::MakeMaker::Coverage"; $@ or print "Adding testcover target\n"; use vars qw($opt_default $opt_libpath $opt_static); GetOptions( "default", \$opt_default, "lib=s", \$opt_libpath, "static", \$opt_static, ); $opt_default ||= $ENV{CRYPT_SSLEAY_DEFAULT}; # FIND POSSIBLE SSL INSTALLATIONS my @POSSIBLE_SSL_DIRS; if ($opt_libpath) { # explicit from command-line @POSSIBLE_SSL_DIRS = ($opt_libpath); $opt_default = 1; } elsif ($^O eq 'MSWin32') { @POSSIBLE_SSL_DIRS = 'c:\\openssl'; } elsif ($^O eq 'VMS') { @POSSIBLE_SSL_DIRS = '/ssl$root'; } else { # Unix and the rest @POSSIBLE_SSL_DIRS = qw( /local /local/ssl /opt/ssl /usr /usr/local /usr/local/ssl /usr/local/openssl ); } my @CANDIDATE = do { my %seen; grep {!$seen{$_->{check}}++} map {Candidate($_)} @POSSIBLE_SSL_DIRS }; if (@CANDIDATE == 0) { $opt_default = 0; my $bar = '=' x 72; print <<"INFO"; $bar No installed SSL libraries found in any of the following places. INFO print " $_\n" for @POSSIBLE_SSL_DIRS; print <<"INFO"; You will have to either specify a directory location at the following prompt, or rerun the Makefile.PL program and use the --lib switch to specify the path. If the path in question is considered standard on your platform, please consider filing a bug report in order to have it taken into account in a subsequent version of Crypt::SSLeay. INFO if (-f '/etc/debian_version') { print <<"DEBIAN_INFO"; This host looks like it is running Debian. Crypt::SSLeay needs to be compiled with C headers that the libssl-dev package makes available. Please install that package before trying to build this module. (You can always deinstall the package afterwards, once Crypt::SSLeay has been built). DEBIAN_INFO } } my $SSL_DIR; my $pkg_config; if (@CANDIDATE == 1) { $pkg_config = $CANDIDATE[0]; if ($opt_default) { $SSL_DIR = $pkg_config->{dir}; } else { print <<"INFO"; ======================================================= Only one $pkg_config->{type} installation found at $pkg_config->{dir} Consider running 'perl Makefile.PL --default' the next time Crypt::SSLeay is upgraded to select this directory automatically thereby avoiding the following prompt. ======================================================= INFO } } elsif (@CANDIDATE > 1) { print "Found multiple possibilities for OpenSSL\n"; for my $c (@CANDIDATE) { print " $c->{dir} ($c->{type} $c->{ver})\n"; } } if (not $SSL_DIR) { my %cand; for my $c (@CANDIDATE) { $cand{$c->{dir}} = {%$c}; } $SSL_DIR = prompt "Which SSL install path do you want to use?", $CANDIDATE[0]->{dir}; if (exists $cand{$SSL_DIR}) { # we've already determined that this directory is usable $pkg_config = $cand{$SSL_DIR}; } else { # unknown directory, better check it out $pkg_config = Candidate($SSL_DIR); if (not $pkg_config) { die <<"INFO"; $SSL_DIR does not appear to be an SSL library installation, since the required header files were not found. The build cannot proceed. INFO } # fix CPAN bug #28680 if (! -e "$pkg_config->{inc}/$pkg_config->{prefix}/ssl.h") { if (-e "$pkg_config->{inc}/ssl.h") { $pkg_config->{prefix} = ''; } else { print "Failed to understand your layout, the build will probably fail.\n"; } } } } # note: $SSL_DIR is now sane at this point my (@INC_FLAGS, @LIB_FLAGS); if ($^O eq 'VMS') { push @INC_FLAGS, "-I$pkg_config->{inc}"; push @LIB_FLAGS, qw(-L/SYS$SHARE -lSSL$LIBSSL_SHR32 -lSSL$LIBCRYPTO_SHR32); } elsif ($^O eq 'MSWin32') { # external tools probably expect \ and not / for path separators $SSL_DIR =~ tr{/}{\\}; # default to drive C: if no drive or relative path $SSL_DIR = "c:$SSL_DIR" if $SSL_DIR !~ m{\A(?:[a-z]:|\.\.[\\/])}i; my $inc = $pkg_config->{inc}; $inc =~ tr{/}{\\}; $inc = "c:$inc" if $inc !~ m{\A(?:[a-z]:|\.\.[\\/])}i; push @INC_FLAGS, "-I$inc"; push @INC_FLAGS, "-I$SSL_DIR\\inc32" if -d "$SSL_DIR/inc32"; my $vanilla = $Config{cc} eq 'gcc' ? 1 : 0; $vanilla and print "Assuming Vanilla/Strawberry Perl installation\n"; if ($vanilla and -d "$SSL_DIR\\lib\\MinGW") { push @LIB_FLAGS, "-L$SSL_DIR\\lib\\MinGW"; } elsif(-d "$SSL_DIR/lib") { push @LIB_FLAGS, "-L$SSL_DIR\\lib"; } else { my $dir = $opt_static ? "$SSL_DIR\\out32" : "$SSL_DIR\\out32dll"; if (-d $dir) { push @LIB_FLAGS, "-L$dir"; } else { # Allow developers to point at OpenSSL source... push @LIB_FLAGS, "-L$SSL_DIR"; } } push @LIB_FLAGS, qw(-lssleay32 -llibeay32); push @LIB_FLAGS, qw(-lRSAglue -lrsaref) if $pkg_config->{type} ne 'OpenSSL'; } else { push @INC_FLAGS, "-I$pkg_config->{inc}"; push @LIB_FLAGS, "-L$pkg_config->{lib}", qw(-lssl -lcrypto -lgcc); push @LIB_FLAGS, qw(-lRSAglue -lrsaref) if $pkg_config->{type} ne 'OpenSSL'; # ccc on alpha support if ($^O eq 'linux' and `uname -m` =~ /alpha/ and !(system("nm $SSL_DIR/lib/libssl.a|grep -q 'U _Ots'")>>8) ) { push @LIB_FLAGS, '-lots'; } # this fix was suggested for building on RedHat 9 push @INC_FLAGS, '-I/usr/kerberos/include' if -d '/usr/kerberos/include'; } # write include file that determines ssl support # we need to include crypto.h for SSLeay so the version gets picked up in SSLeay.xs open(INCLUDE, ">crypt_ssleay_version.h") || die("can't open crypt_ssleay_version.h for writing: $!"); print INCLUDE <<"INFO"; #include "$pkg_config->{prefix}ssl.h" #include "$pkg_config->{prefix}crypto.h" #include "$pkg_config->{prefix}err.h" #include "$pkg_config->{prefix}rand.h" #include "$pkg_config->{prefix}pkcs12.h" INFO if ($] < 5.005) { print "adding PL_sv_undef symbol for this ancient perl installation"; print INCLUDE <<"INFO"; /* defining PL_sv_undef for very old perls ($]) */ #ifndef PL_sv_undef #define PL_sv_undef sv_undef #endif INFO } if ($pkg_config->{type} eq 'OpenSSL') { # OPENSSL_free defined in OpenSSL 0.9.6 and higher if ($pkg_config->{ver} =~ /\b0\.9\.[2-5]/) { print INCLUDE "#define CRYPT_SSLEAY_free free\n"; } else { print INCLUDE "#define CRYPT_SSLEAY_free OPENSSL_free\n"; } } else { print INCLUDE "#define CRYPT_SSLEAY_free free\n"; } close INCLUDE or die "Cannot close crypt_ssleay_version.h for output: $!\n"; print <<"INFO"; BUILD INFORMATION ================================================ ssl library: $pkg_config->{type} $pkg_config->{ver} in $SSL_DIR ssl header: $pkg_config->{prefix}ssl.h libraries: @LIB_FLAGS include dir: @INC_FLAGS ================================================ INFO my @license = do { my $version = $ExtUtils::MakeMaker::VERSION; $version =~ tr/_//d; $version} > 6.30 ? qw(LICENSE perl) : (); WriteMakefile( NAME => 'Crypt::SSLeay', AUTHOR => 'David Landgren', ABSTRACT_FROM => 'SSLeay.pm', VERSION_FROM => 'SSLeay.pm', LIBS => ["@LIB_FLAGS"], INC => "@INC_FLAGS", NEEDS_LINKING => 1, clean => { FILES => 'crypt_ssleay_version.h test.config', }, @license, ); if (open OUT, '> test.config') { print OUT <<"INFO"; ssl $pkg_config->{type} $pkg_config->{ver} in $SSL_DIR lib @LIB_FLAGS inc @INC_FLAGS cc $Config{cc} INFO print <<"INFO"; The test suite can attempt to connect to public servers to ensure that the code is working properly. If you are behind a strict firewall or have no network connectivity, these tests may fail (through no fault of the code). INFO my $network_tests = prompt "Do you want to run the live tests (y/N) ?", 'N'; print OUT "network_tests ", ($network_tests =~ /y/i) ? 1 : 0, "\n"; close OUT; } ## HELPERS sub Candidate { my $dir = shift; return unless -d $dir; my $inc_dir; my $version_file; for ( "$dir/inc32/openssl/opensslv.h", # old win32 builds "$dir/crypto/opensslv.h", # cygwin32 builds "$dir/include/openssl/opensslv.h", "$dir/../include/openssl/opensslv.h", # Solaris "$dir/include/opensslv.h", "$dir/include/crypto.h" ) { if (-e $_) { $version_file = $_; last; } } return unless defined $version_file; my $fingerprint = join(':', (stat $version_file)[0,1]); my $open_ssl = ($version_file =~ /openssl/i) ? 1 : 0; $inc_dir = dirname($version_file); return unless -e "$inc_dir/ssl.h"; my $prefix; if ($^O eq 'MSWin32') { $inc_dir =~ s{[\\/]openssl\z}{}; $prefix = 'openssl/'; } elsif (index($inc_dir, '/../') > -1) { # OpenSSL include directory is in a sibling directory $inc_dir =~ s{\/openssl\z}{}; $prefix = 'openssl/'; } else { $prefix = ($inc_dir =~ /\bopenssl/i) ? 'openssl/' : ''; } open(VERSION_FILE, $version_file) or return; my $version_match = $open_ssl ? "OPENSSL_VERSION_NUMBER" : "SSLEAY_VERSION_NUMBER"; my $version; my $type; while (<VERSION_FILE>) { if (/^#define\s+$version_match\s+0x0+(\d\d\d)/) { $version = $1; $version =~ s/(\d)0(\d)/$1$2/; $type = ($version > 92) ? "OpenSSL" : "SSLeay"; $version = join('.', split(//, "0$version")); last; } } close(VERSION_FILE); # Silly test to look for the library files my $found_lib; my $libd; my $subdir = $opt_static ? 'out32' : 'out32dll'; if (-d "$dir/$subdir") { $libd = [$subdir]; } elsif ($^O eq 'MSWin32' and $Config{cc} eq 'gcc') { $libd = ['lib/MinGW']; } else { # second attempt is for Solaris, like the include directory, the # library directory may be in a sibling directory $libd = ['lib', '../lib']; } SCAN: for my $d (@$libd) { my $lib_dir = "$dir/$d"; if (opendir(LIBDIR, $lib_dir)) { while (defined($_ = readdir(LIBDIR))) { if (/\A(?:lib(?:crypto|eay32|ssl)|ssleay32)/) { $found_lib = $lib_dir; last SCAN; } } closedir(LIBDIR); } } if (!$found_lib) { my @tried = join( ',' => map {"$dir/$_"} @$libd); print "Did not locate expected SSL library files in @tried\n"; } return { dir => $dir, inc => $inc_dir, lib => $found_lib, ver => $version, type => $type, prefix => $prefix, check => $fingerprint, }; }

Message body is not shown because it is too large.

Hello: I have uploaded a new development release to CPAN which I hope solves this and similar issues with include paths. Would you mind checking to see if it works? http://search.cpan.org/~nanis/Crypt-SSLeay-0.57_03/ Thank you. -- Sinan