如何编译安装curl或libcurl-devel?
编译安装1 基础知识
1.1 libcurl的介绍
libcurl是一个免费且易于使用的客户端URL传输库
1.2 libcurl的功能
– 支持DICT,FILE,FTP,FTPS,Gopher,HTTP,HTTPS,IMAP,IMAPS,LDAP和LDAPS协议
– 支持POP3,POP3S,RTMP,RTSP,SCP, SFTP,SMTP,SMTPS,Telnet和TFTP协议
– 支持SSL证书
– 支持HTTP POST,HTTP PUT,FTP上传
– 基于HTTP表单的上传
– 支持代理
– 支持cookie
– 支持用户+密码验证(基本,摘要,NTLM,协商,Kerberos)
– 支持文件传输恢复
– 支持http代理隧道等等
1.3 libcurl的兼容性
– libcurl具有高度可移植性,可在多种平台上构建和工作
– libcurl支持Solaris,NetBSD,FreeBSD,OpenBSD,Darwin,HPUX,IRIX,AIX,Tru64,Linux系统
– libcurl支持UnixWare,HURD,Windows,Amiga,OS / 2,BeOs,Mac OS X,Ultrix,QNX系统
– libcurl支持OpenVMS,RISC OS,Novell NetWare,DOS等系统
2 最佳实践
2.1 安装前的准备
2.1.1 安装编译工具
yum -y install gcc gcc-c++ make expat-devel
2.1.2 下载软件包
cd ~ wget https://curl.haxx.se/download/curl-7.65.3.tar.gz
注意:其他版本请从以下目录下载,
https://curl.haxx.se/download/
2.1.3 解压软件包
cd ~ tar -xf curl-7.65.3.tar.gz
2.2 编译安装
2.2.1 预编译软件库
cd ~/curl-7.65.3 ./configure --prefix=/usr/local/curl-7.65.3 \ --with-nghttp2 \ --with-ssl
参数“–with-nghttp2”需要安装以下包解决依赖关系,
yum install -y libnghttp2-devel
如果遇到以下错误提示,
configure: error: --with-ssl was given but OpenSSL could not be detected
需要安装如下包解决依赖关系,
yum install openssl-devel
2.2.2 编译并安装软件库
make make install
2.2.3 配置程序环境变量
echo 'export CURL_HOME=/usr/local/curl-7.65.3' > /etc/profile.d/curl.sh echo 'export PATH=${CURL_HOME}/bin:$PATH' >> /etc/profile.d/curl.sh source /etc/profile
配置完成后,请使用如下命令测试,
curl -V
可见如下显示,
curl 7.65.3 (x86_64-pc-linux-gnu) libcurl/7.65.3 OpenSSL/1.0.2k-fips zlib/1.2.7 Release-Date: 2019-07-19 Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp Features: AsynchDNS HTTPS-proxy IPv6 Largefile libz NTLM NTLM_WB SSL UnixSockets
2.2.4 加载动态库
echo /usr/local/curl-7.65.3/lib/ > /etc/ld.so.conf.d/curl-7.65.3.conf
配置完成后,请使用以下命令检查并加载,
ldconfig -v
2.2.5 确认软件可用
/usr/local/curl-7.65.3/bin/curl-config --version
显示如下,
libcurl 7.55.1
参阅文档
==================
编译安装的文档
————–
https://curl.haxx.se/docs/install.html
官方首页
————-
https://curl.haxx.se/libcurl/
软件下载
————–
https://curl.haxx.se/download/
https://curl.haxx.se/download.html