2015-04-21 34 views
1

我们已经从cpan下载Net :: SSLeay模块源,并且想在本地进行编译并使用它。我们在两种情况下面临问题。在linux和windows编译Net :: SSLeay期间看到的问题

我们需要对几个项目的您的建议:

1)我们需要使用Net :: SSLeay的模块。我们已经使用以下语句在Linux x86_64框中编译了它: perl Makefile.PL INC = -I“/ include”LIBS = -L“/ lib”

这会生成一个似乎并未使用的Makefile - lcrypto选项。我想使用这个选项,因为我们在运行时看到以下错误:

未定义的符号:X509_EXTENSION_free

从下面的链接,我们似乎需要包括-lcrypto选项。请帮助我们如何包含此选项。我尝试了一下Makefile.pl,但由于我是这个Makefile的新手,所以无法理解。

http://w3facility.org/question/what-is-undefined-symbol-x509_extension_free/

2)其次,同时建立在Windows上,我们需要包括openssl_path,但INC =和LIBS =似乎并没有工作。 Openssl库已存在于本地目录中。请让我们知道如何使用#perl Makefile.pl选项包含路径。

您的建议将非常感谢。

回答

0

试图安装LWP ::协议:: HTTPS(在我的自定义路径时,我不知道,如果它可以帮助你,但我也有类似的问题与的Net :: SSLeay的/根/ perl的):

debian:~# apt-get install libssl-dev 
debian:~# /root/perl/bin/perl -e "use LWP::Protocol::https" 
Can't load '/root/perl/lib/site_perl/5.14.2/armv5tejl-linux/auto/Net/SSLeay/SSLeay.so' for module Net::SSLeay: /root/perl/lib/site_perl/5.14.2/armv5tejl-linux/auto/Net/SSLeay/SSLeay.so: undefined symbol: X509_EXTENSION_free at /root/perl/lib/5.14.2/armv5tejl-linux/DynaLoader.pm line 190. 

至于建议HERE,我解决了手工编制的Net-SSLeay的-1.74这样:

debian:~/.cpan/build/Net-SSLeay-1.74-Zaf3oe# perl Makefile.PL LIBS="-L/root/perl/lib -lssl -lcrypto -lcrypt3" INC="-I/root/perl/include" 
debian:~/.cpan/build/Net-SSLeay-1.74-Zaf3oe# make 
debian:~/.cpan/build/Net-SSLeay-1.74-Zaf3oe# make install 

然后它工作正常:

debian:~# /root/perl/bin/perl -e "use LWP::Protocol::https" 
debian:~#