2012-08-15 50 views
0

当我尝试安装Net :: SSL时,我得到以下输出。我根本没有深入了解它。任何人都可以指引我朝着正确的方向前进,而不会陷入困境?为草莓Perl编译Net :: SSL:“openssl/ssl.h:没有这样的文件或目录”

 
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

以下行建议,你可能还没有安装OpenSSL库/头,或者是不知道Perl中的位置。将它安装在操作系统的软件包管理器中,或者编译并安装它。

>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 

安装库/头后,cpan应该能够makeinstallNet::SSL

+1

你可以让我知道如何安装OpenSSL,我使用的是草莓perl,并且已经使用CPAN install Module :: Name语法 – 2012-08-15 10:58:22

2

我有同样的问题,虽然我安装了openSSL软件包,但是其中的开发头文件没有。我不得不安装包libssl-dev。我使用了Ubuntu软件中心来下载和安装该软件包。或者,您可以使用终端命令行中的sudo apt-get install libssl-dev

这解决了我的问题,但对使用Windows的工作并没有真正的帮助。 OpenSSL的具有在一个链接到一个二进制文件窗口:OpenSSL for Windows

-1

一般CPAN通过安装完所有相关模块负责为你处理。 你所面对的问题是这样的警告现在

WARNING: BUILD_REQUIRES is not a known parameter. 

因为CPAN是无法读取这个参数是无法得到所有你的相关模块,因此无法安装。

这个问题可能与perl-ExtUtils-MakeMaker模块配合使用cpan实用程序。

您可能想要安装最新版本的cpan并尝试。或者如前所述您可能希望在单独下载它们然后手动安装它们之后安装所有模块。

-1

首先,我有这个问题是这样的:

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 

然后我用下面的:

apxs -I/usr/local/openssl/include/openssl -i -c mod_qos.c -lcrypto -lpcre

它成功了!为什么?

相关问题