编译 Net::SSL for Strawberry Perl: “openssl/ssl.h: 没有这样的文件或目录”



当我尝试安装Net::SSL时,我得到以下输出。我一点也不理解。谁能指出我正确的方向,而不涉及技术?

C:\文档和设置\管理员>cpanCPAN: 文件::主页目录加载正常 (v0.69)CPAN 外壳 -- CPAN 探索和模块安装 (v1.9205)已启用读取行支持cpan> install net::SSL数据库生成于 2012年8月14日 星期二 14:54:56 GMT运行模块"Net::SSL"的安装运行 N/NA/NANIS/Crypt-SSLeay-0.64.tar.gzC:\strawberry\cpan\sources\authors\id\N\NA\NANIS\Crypt-SSLeay-0.64的校验和。焦油.gz好的扫描缓存 C:\草莓\cpan\构建大小............................................................................做CPAN.pm:构建N/NA/NANIS/Crypt-SSLeay-0.64.tar.gz测试套件可以尝试连接到公共服务器,以确保代码工作正常。如果您在严格的防火墙后面或没有网络连接,这些测试可能会失败(不是由于代码的错误)。是否要运行实时测试(是/否)?[N]警告:BUILD_REQUIRES不是已知参数。检查您的套件是否完整...看起来不错警告:未找到先决条件 LWP::P rotocol::https 6.02。"BUILD_REQUIRES"不是已知的 MakeMaker 参数名称。Writing Makefile for Crypt::SSLeaycp lib/Crypt/SSLeay/X509.pm blib\lib\Crypt\SSLeay\X509.pmcp lib/Net/SSL.pm blib\lib\Net\SSL.pmcp SSLeay.pm blib\lib\Crypt\SSLeay.pmcp lib/Crypt/SSLeay/Conn.pm blib\lib\Crypt\SSLeay\Conn.pmcp lib/Crypt/SSLeay/CTX.pm blib\lib\Crypt\SSLeay\CTX.pmcp lib/Crypt/SSLeay/MainContext.pm blib\lib\Crypt\SSLeay\MainContext.pmcp lib/Crypt/SSLeay/Err.pm blib\lib\Crypt\SSLeay\Err.pmC:\strawberry\perl\bin\perl.exe C:\strawberry\perl\lib\ExtUtils\xsubpp -typemapC:\strawberry\perl\lib\ExtUtils\typemap -typemap typemap SSLeay.xs> SSLeay.xsc && C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e mv SSLeay.xsc SSLeay.cgcc -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.cSSLeay.xs:35:25: openssl/ssl.h: 没有这样的文件或目录SSLeay.xs:36:28: openssl/crypto.h: 没有这样的文件或目录SSLeay.xs:37:25: openssl/err.h: 没有这样的文件或目录SSLeay.xs:38:26: openssl/rand.h: 没有这样的文件或目录SSLeay.xs:39:28: openssl/pkcs12.h: 没有这样的文件或目录SSLeay.xs:55:错误:"*"标记之前的语法错误SSLeay.xs:在函数"InfoCallback"中:SSLeay.xs:60:错误:"where"未声明(在此函数中首次使用)SSLeay.xs:60:错误:(每个未声明的标识符仅报告一次SSLeay.xs:60:错误:对于它出现的每个函数。SSLeay.xs:60:错误:"SSL_ST_MASK"未声明(首次在此函数中使用)SSLeay.xs:62:错误:"SSL_ST_CONNECT"未声明(首次在此函数中使用)SSLeay.xs:64:错误:"SSL_ST_ACCEPT"未声明(首次在此函数中使用)SSLeay.xs:69:错误:"SSL_CB_LOOP"未声明(首次在此函数中使用)SSLeay.xs:70:错误:"s"未声明(在此函数中首次使用)SSLeay.xs:72:错误:"SSL_CB_ALERT"未声明(首次在此函数中使用)SSLeay.xs:73:错误:"SSL_CB_READ"未声明(首次在此函数中使用)SSLeay.xs:75:错误:"ret"未声明(在此函数中首次使用)SSLeay.xs:78:错误:"SSL_CB_EXIT"未声明(在此函数中首次使用)SSLeay.c:在函数'XS_Crypt__SSLeay__CTX_new'中:SSLeay.c:146:错误:"SSL_CTX"未声明(在此函数中首次使用)SSLeay.c:在函数'XS_Crypt__SSLeay__CTX_use_pkcs12_file'中:SSLeay.c:334:错误:"SSL_CTX"未声明(首次在此函数中使用)SSLeay.c:334:错误:"ctx"未声明(在此函数中首次使用)SSLeay.xs:188:错误:"EVP_PKEY"未声明(首次在此函数中使用)SSLeay.xs:188:错误:"pkey"未声明(首次在此函数中使用)SSLeay.c:421:错误:"ctx"未声明(首次在此函数中使用)SSLeay.c:646:错误:"ssl"未声明(首次在此函数中使用)SSLeay.c:658:错误:")"标记之前的语法错误很多与上面类似的台词SSLeay.xs:505:错误:"->"的类型参数无效dmake.EXE:错误代码 129,同时生成"SSLeay.o"NANIS/Crypt-SSLeay-0.64.tar.gzC:\strawberry\c\bin\dmake.EXE -- NOT OK运行制作测试没有成功的制作就无法测试运行制作安装使返回错误状态,安装似乎无法此命令期间失败:NANIS/Crypt-SSLeay-0.64.tar.gz : make NO

我遇到了同样的问题,虽然我安装了 openSSL 软件包,但开发标头却没有。我必须安装软件包libssl-dev。我使用 Ubuntu 软件中心下载并安装软件包。或者,您可以从终端命令行使用sudo apt-get install libssl-dev

这解决了我的问题,但对您使用窗口没有真正的帮助。openSSL有一个指向Windows二进制文件的链接:OpenSSL for Windows

以下几行表明您可能尚未安装 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应该能够makeinstall Net::SSL

通常,CPAN通过安装所有依赖模块来为您解决这个问题。您面临的问题是此警告

WARNING: BUILD_REQUIRES is not a known parameter.

现在,由于CPAN无法读取此参数,因此无法为您获取所有依赖模块,因此无法安装。

问题可能出在带有cpan 实用程序的perl-ExtUtils-MakeMaker模块上。

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

首先,我遇到了这样的问题:

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

它成功了!为什么?

最新更新