我正在尝试使用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也能正常工作,为什么我最初完成所有这些操作。
感谢您的帮助。
答案 0 :(得分:1)
curl的配置选项--with-ssl
需要安装OpenSSL的安装路径的前缀。
如果您确实在/ usr / lib / ssl中安装了OpenSSL 1.0.2,则./configure --with-ssl=/usr/lib/ssl
是正确的行。
如果您从源代码构建openssl,您可以执行以下操作:
./config --prefix=/home/user/build-openssl
make
make install
然后构建curl以使用此自定义OpenSSL构建:
./configure --with-ssl=/home/user/build-openssl
配置完成后,您可以使用自己喜欢的编辑器加载config.log
并检查OpenSSL检查,并在尝试查找时查看失败的确切内容。