如何用最新的openssl(1.0.2)Debian编译curl

时间:2016-06-09 11:04:43

标签: curl openssl debian

我正在尝试使用openssl 1.0.2在debian jessie机器上编译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 [...]

如何找出要设置的路径? 可能是,我必须使用选项" shared"?编译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也能正常工作,为什么我最初完成所有这些操作。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

curl的配置选项--with-ssl需要安装OpenSSL的安装路径的前缀。

如果您确实在/ usr / lib / ssl中安装了OpenSSL 1.0.2,则./configure --with-ssl=/usr/lib/ssl是正确的行。

使用自定义OpenSSL自定义卷曲

如果您从源代码构建openssl,您可以执行以下操作:

./config --prefix=/home/user/build-openssl
make
make install

然后构建curl以使用此自定义OpenSSL构建:

./configure --with-ssl=/home/user/build-openssl

如果配置失败

配置完成后,您可以使用自己喜欢的编辑器加载config.log并检查OpenSSL检查,并在尝试查找时查看失败的确切内容。