Perl – Compiling Net::SSL for Strawberry Perl: “openssl/ssl.h: No such file or directory”

cpaninstallationmoduleperl

When I try to install Net::SSL I get the following output. I don't understad it at all. Can anyone point me in the right direction, without getting to techy?

C:\Documents and Settings\Administrator>cpan
CPAN: File::HomeDir loaded ok (v0.69)

cpan shell -- CPAN exploration and modules installation (v1.9205)
ReadLine support enabled


cpan> install Net::SSL
Database was generated on Tue, 14 Aug 2012 14:54:56 GMT
Running install for module 'Net::SSL'
Running make for N/NA/NANIS/Crypt-SSLeay-0.64.tar.gz
Checksum for C:\strawberry\cpan\sources\authors\id\N\NA\NANIS\Crypt-SSLeay-0.64.
tar.gz ok
Scanning cache C:\strawberry\cpan\build for sizes
............................................................................DONE


CPAN.pm: Going to build N/NA/NANIS/Crypt-SSLeay-0.64.tar.gz

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]
WARNING: BUILD_REQUIRES is not a known parameter.
Checking if your kit is complete...
Looks good
Warning: prerequisite LWP::Protocol::https 6.02 not found.
'BUILD_REQUIRES' is not a known MakeMaker parameter name.
Writing Makefile for Crypt::SSLeay
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/Conn.pm blib\lib\Crypt\SSLeay\Conn.pm
cp lib/Crypt/SSLeay/CTX.pm blib\lib\Crypt\SSLeay\CTX.pm
cp lib/Crypt/SSLeay/MainContext.pm blib\lib\Crypt\SSLeay\MainContext.pm
cp lib/Crypt/SSLeay/Err.pm blib\lib\Crypt\SSLeay\Err.pm
C:\strawberry\perl\bin\perl.exe C:\strawberry\perl\lib\ExtUtils\xsubpp  -typemap
C:\strawberry\perl\lib\ExtUtils\typemap -typemap typemap  SSLeay.xs > SSLeay.xs
c && C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e mv SSLeay.xsc SSLeay
.c
gcc -c  -IC:\strawberry\c\include       -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DPERL_
IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -DPERL_MSVCRT_READFIX
-s -O2    -DVERSION=\"0.64\"    -DXS_VERSION=\"0.64\"  "-IC:\strawberry\perl\lib
\CORE"   SSLeay.c
SSLeay.xs:35:25: openssl/ssl.h: No such file or directory
SSLeay.xs:36:28: openssl/crypto.h: No such file or directory
SSLeay.xs:37:25: openssl/err.h: No such file or directory
SSLeay.xs:38:26: openssl/rand.h: No such file or directory
SSLeay.xs:39:28: openssl/pkcs12.h: No such file or directory
SSLeay.xs:55: error: syntax error before '*' token
SSLeay.xs: In function `InfoCallback':
SSLeay.xs:60: error: `where' undeclared (first use in this function)
SSLeay.xs:60: error: (Each undeclared identifier is reported only once
SSLeay.xs:60: error: for each function it appears in.)
SSLeay.xs:60: error: `SSL_ST_MASK' undeclared (first use in this function)
SSLeay.xs:62: error: `SSL_ST_CONNECT' undeclared (first use in this function)
SSLeay.xs:64: error: `SSL_ST_ACCEPT' undeclared (first use in this function)
SSLeay.xs:69: error: `SSL_CB_LOOP' undeclared (first use in this function)
SSLeay.xs:70: error: `s' undeclared (first use in this function)
SSLeay.xs:72: error: `SSL_CB_ALERT' undeclared (first use in this function)
SSLeay.xs:73: error: `SSL_CB_READ' undeclared (first use in this function)
SSLeay.xs:75: error: `ret' undeclared (first use in this function)
SSLeay.xs:78: error: `SSL_CB_EXIT' undeclared (first use in this function)
SSLeay.c: In function `XS_Crypt__SSLeay__CTX_new':
SSLeay.c:146: error: `SSL_CTX' undeclared (first use in this function)
SSLeay.c: In function `XS_Crypt__SSLeay__CTX_use_pkcs12_file':
SSLeay.c:334: error: `SSL_CTX' undeclared (first use in this function)
SSLeay.c:334: error: `ctx' undeclared (first use in this function)
SSLeay.xs:188: error: `EVP_PKEY' undeclared (first use in this function)
SSLeay.xs:188: error: `pkey' undeclared (first use in this function)
SSLeay.c:421: error: `ctx' undeclared (first use in this function)
SSLeay.c:646: error: `ssl' undeclared (first use in this function)
SSLeay.c:658: error: syntax error before ')' token

LOTS OF LINES SIMILAR TO ABOVE

SSLeay.xs:505: error: invalid type argument of `->'
dmake.EXE:  Error code 129, while making 'SSLeay.o'
NANIS/Crypt-SSLeay-0.64.tar.gz
C:\strawberry\c\bin\dmake.EXE -- NOT OK
Running make test
Can't test without successful make
Running make install
Make had returned bad status, install seems impossible
Failed during this command:
NANIS/Crypt-SSLeay-0.64.tar.gz               : make NO

Best Answer

I had the same problem and, although I had the openSSL package installed, the development headers where not. I had to install the package libssl-dev. I used the Ubuntu Software Center to download and install the package. Alternately, you could use sudo apt-get install libssl-dev from the terminal command line.

That fixed my problem but is no real help to you working with windows. openSSL has a link to a binary for windows at: OpenSSL for Windows

Related Topic