【发布时间】:2016-10-10 00:02:26
【问题描述】:
我正在尝试在 debian jessie 机器上使用 openssl 1.0.2 编译 curl。
$ which openssl
/usr/bin/openssl
$ openssl version
OpenSSL 1.0.2h 3 May 2016
$ openssl version -d
OPENSSLDIR: "/usr/lib/ssl"
我尝试了很多不同的方式配置 curl,例如
$ ./configure --with-ssl=/usr/lib/ssl
$ ./configure --with-ssl=/usr/bin/openssl // Makes no sense anyways
现在,无论我做什么,它都无法使用正确的 openssl 版本进行编译:
$ curl --version
curl 7.49.1 (x86_64-pc-linux-gnu) libcurl/7.49.1 OpenSSL/1.0.1t [...]
如何确定要设置的路径? 是不是我必须使用“共享”选项编译 OpenSSL?我通过 apt-get 安装了 openssl。
更新
所以我最终所做的是将 Debian Stretch Packages 添加到 /etc/apt/sources.list 并安装 OpenSSL 1.0.2,然后是 libssl1.0.2,最后是 libcurl4-openssl-dev。
这样做之后,curl -V 并没有表示任何 OpenSSL,但即使支持 ALPN,它也能正常工作,这是我最初做这一切的原因。
感谢您的帮助。
【问题讨论】:
-
"... 在 debian jessie 机器上使用 openssl 1.0.2..." - 你是如何配置 OpenSSL 的?你用什么
--openssldir?选项是否包括shared?另请参阅 OpenSSL wiki 上的 Compilation and Installation。 -
我使用
apt-get install openssl=1.0.2h-1安装了 OpenSSL 1.0.2。为此,您需要将 Debian Stretch Packackes 添加到您的/etc/apt/sources.list:我使用了以下内容:deb http://ftp.us.debian.org/debian/ stretch main和deb-src http://ftp.us.debian.org/debian/ stretch main请注意,风险自负!但这对我来说效果很好。我保留了 OpenSSL 配置默认值。