Centos编译升级libcurl

Centos编译升级libcurl

‌下载最新版源码包

访问curl官网获取最新版本(如8.12.1):

bash 复制代码
wget https://curl.se/download/curl-8.12.1.tar.gz
tar -zxvf curl-8.12.1.tar.gz && cd curl-8.12.1

安装编译依赖

bash 复制代码
yum groupinstall 'Development Tools' -y
yum install openssl-devel libnghttp2-devel -y

配置编译选项

bash 复制代码
./configure --prefix=/usr/local/curl --with-brotli --with-openssl

若需禁用特定功能(如LDAP),可添加--disable-ldap等参数‌

如果报错:

configure: error: libpsl libs and/or directories were not found where specified!

通过 EPEL 仓库安装

bash 复制代码
# 安装 EPEL 仓库
yum install epel-release -y

# 更新仓库缓存
yum clean all && yum makecache

# 安装 libpsl-devel
yum install libpsl-devel -y

手动源码编译安装

bash 复制代码
# 安装编译依赖
yum install wget gcc make pkg-config -y

# 下载 libpsl 源码
wget https://github.com/rockdaboot/libpsl/releases/download/0.21.5/libpsl-0.21.5.tar.gz
# 解压并编译
tar -zxvf libpsl-0.21.5.tar.gz
cd libpsl-0.21.5
./configure
make
sudo make install

# 更新动态库缓存
sudo ldconfig

如果报错:

configure: error: BROTLI libs and/or directories were not found where specified!

安装Brotli 开发库

bash 复制代码
yum install brotli-devel -y

如果报错:

configure: error: libpsl libs and/or directories were not found where specified!

方法一:安装 libpsl-devel 依赖

通过 EPEL 仓库安装
bash 复制代码
# 确保已启用 EPEL 仓库
yum install epel-release -y

# 安装 libpsl-devel
yum install libpsl-devel -y
重新运行 configure
bash 复制代码
./configure --prefix=/usr/local/curl --with-brotli --with-openssl

方法二:禁用 PSL 支持

如果不需要 ‌Public Suffix List‌ 功能(例如域名后缀解析),可在配置时直接禁用:

bash 复制代码
./configure --prefix=/usr/local/curl --with-brotli --with-openssl

‌编译并安装

bash 复制代码
make && make install

替换系统旧版本

bash 复制代码
mv /usr/bin/curl /usr/bin/curl.bak  # 备份旧版本
cp /usr/local/curl/bin/curl /usr/bin/curl
echo "/usr/local/curl/lib" > /etc/ld.so.conf.d/curl.conf
ldconfig  # 更新动态库缓存
相关推荐
chlk1231 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑1 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件1 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒1 天前
OpenClaw 多 Agent 配置实战指南
运维
xy123061 天前
OpenStack Train 部署实战(三)控制节点--keystone服务
centos·openstack
深紫色的三北六号1 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash2 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行3 天前
Linux和window共享文件夹
linux
木心月转码ing3 天前
WSL+Cpp开发环境配置
linux