curl源码编译安装

版权声明:本文为博主原创文章,如需转载请标明出处链接!否则追究法律责任! https://blog.csdn.net/peng314899581/article/details/88845213

https://curl.haxx.se/download.html

首先去curl官网下载对应版本,这里有个坑需要注意。如果下载的源码版本太高,编译是成功的,但是curl可执行文件访问https的时候还是会报各种奇怪的错误。所以我这里的做法是,先yum install curl,然后curl -V看我的系统yum支持的curl最新版本。我这里是7.29.0

这里点击Old Releases,可以找到curl-7.29.0.tar.gz

https://www.openssl.org/source/

其次去openssl官网下载对应版本,需要openssl的原因是,如果只编译curl那么就不支持https协议了,使用curl访问https会报错curl: (1) Protocol https not supported or disabled in libcurl

这里也是一样,我也是先yum install openssl然后openssl version查看了最新版本,我这里是1.0.2k

这里点击Old Releases,可以找到openssl-1.0.2k.tar.gz

1. 解压openssl-1.0.2k.tar.gz,编译

./config shared --prefix=/tmp/ssl
make
make install

--prefix后面跟的安装目录。如果这里报错Makefile is older than Makefile.org, Configure or config.那就先./config,再执行上面三步。

2. 解压curl-7.29.0.tar.gz,编译

./configure --prefix=/tmp/curl --without-nss --with-ssl=/tmp/ssl
make
make install

--prefix后面跟的安装目录

--without-nss是因为centos自带的curl支持的https是nss版本的,不是openssl的,我们这里要用openssl版本的

这是centos自带的curl,可以看到使用的nss版本

--with-ssl后面跟的openssl安装目录

如果我们直接./configure,默认是不支持https协议的

./configure --prefix=/tmp/curl --without-nss --with-ssl=/tmp/ssl执行就有了

3. 最后我们可以在/tmp/curl/bin下看到编译成功的curl可执行文件,在/tmp/curl/lib下看到我们编译成功的lib库,看下现在编译成功的curl

猜你喜欢

转载自blog.csdn.net/peng314899581/article/details/88845213