问题
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
回答1:
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
回答2:
The following lines suggest that you probably have not installed the OpenSSL library/headers or it is in a location not known to perl. Install it with the package manager of your operating system, or compile and install it.
>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
After installing the library/headers, cpan
should be able to make
and install
Net::SSL.
回答3:
Generally CPAN
takes care of this for you by installing all the dependent modules.
The problem you are facing is with this warning
WARNING: BUILD_REQUIRES is not a known parameter.
Now since CPAN
is unable to read this parameter it is unable to get all the dependent modules for you and hence is unable to install.
The Problem may be with the perl-ExtUtils-MakeMaker module with comes with cpan utility.
You may want to install the latest version of cpan and try. Or as previously mentioned You may want to install all the modules after downloading them individually and then installing them manually.
回答4:
First, I have got the problem like this:
mod_qos.c:83:26: error: openssl/rand.h: No such file or directory
mod_qos.c:84:25: error: openssl/evp.h: No such file or directory
Then I used the following:
apxs -I/usr/local/openssl/include/openssl -i -c mod_qos.c -lcrypto -lpcre
and it succeeded! Why?
来源:https://stackoverflow.com/questions/11967961/compiling-netssl-for-strawberry-perl-openssl-ssl-h-no-such-file-or-director