微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何用最新的openssl编译curl

我下载的是curl7.40源代码,而我已经编译好了openssl 1.0.2的源代码,现在我想用openssl 1.0.2编译curl。

./configure --prefix=/usr/local/curl-7.40.0 --with-ssl --with-libssl-prefix=/usr/local/openssl-1.0.2 make && make install

我安装后,我lddcurl库,但仍然链接到系统认库。 ldd libcurl.so linux-vdso.so.1 => (0x00007fff2db2e000) libidn.so.11 => /usr/lib/x86_64-linux-gnu/libidn.so.11 (0x00007fafb9b6e000) librtmp.so.0 => /usr/lib/x86_64-linux-gnu/librtmp.so.0 (0x00007fafb9954000) libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007fafb96f5000) libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007fafb931b000) ...

UPDATE

经过一番search,我使用下面的命令进行configuration。

./configure --prefix=/usr/local/curl-7.40.0 --with-ssl=/usr/local/openssl-1.0.2

GetwindowText挂在Windows 10上

在shm_unlink之后访问内存

如何从Windows MessageBox接收反馈?

我怎么才能find一个任意进程运行在WOW64下?

如何知道EDIT控件中的偏移量来绘制文本?

但是当安装时,它会显示下面的错误信息。

../lib/.libs/libcurl.so: undefined reference to `SSLv2_client_method' collect2: error: ld returned 1 exit status

在C#中使用/或\用于文件夹path

Qtanimation无animation框架

启动认的电子邮件客户端,以打开一个“发送电子邮件”窗口与预选的文件附件

最简单的Ubuntu GUI应用程序

是否lseek()O(1)复杂?

问题可能在于如何构建OpenSSL库。

很可能你已经构建了openssl,禁用了SSLv2,因为有些分发认情况下禁用了SSLv2。 在编译OpenSSL时查看系统的./config ,找到控制OPENSSL_NO_SSL2预处理器标志的选项。

为了在从源代码制作的时候使用适当版本的openssl,可以这样做openssl:

cd <path-to-openssl-dir> ./config enable-ssl2 enable-ssl3 --prefix=<path-to-openssl-install-dir>

然后,你可以正确地链接你的curl版本来openssl:

./configure --with-ssl=<path-to-openssl-install-dir>

SSLv2_client_method()用在lib / vtls / openssl.c行1575中,通过autoconf 检查这个函数的可用性。 在我看来,autoconf的AC_CHECK_FUNCS错误地发现你的系统安装openssl之前已经启用了SSLv2 #include你自己安装的没有SSLv2_client_method()的openssl-1.0.2,因此假定函数可用。

尝试传递CFLAGS=-I/usr/local/openssl-1.0.2/include甚至是"CFLAGS=-I/usr/local/openssl-1.0.2/include -DOPENSSL_NO_SSL2"作为参数./configure强制openssl.c使SSLv2_client_method()错误地被认为是可用的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐