searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

升级curl版本,及升级后引起的动态库链接不正常问题的解决

2023-08-04 08:11:50
66
0

服务器使用的curl,可能版本较低,无法支持请求ipv6地址等新功能,此时,就需要升级curl版本。一般的云源提供的版本本身较低,需要指定特定的云源进行升级。升级后,部分机器会产生动态库链接不正确的问题,虽然curl程序已升级到最新,但未正确链接对应最新版本的动态库,导致curl程序的执行错误。需要重新建立curl程序与动态库的链接。

以下介绍针对centos系统

一、新建yum源

通过

vi /etc/yum.repos.d/city-fan.repo  
 
插入以下内容
 
新建一个云源,支持较新版本的curl的升级,如果有其他合适的云源,也可以不用这个云源
 
指定该云源对 curl升级
yum update curl --enablerepo=CityFanforCurl -y
 
二、可能出现libcurl不匹配的问题及解决
 
更新完curl以后,执行curl命令,可能存在curl执行不了,报错的问题,此时,可能是curl链接的动态库不正确,链接到老版本curl的动态库。
 
先查找curl 使用的libcurl 动态库
ldd /usr/bin/curl | grep libcurl
看到当前curl 程序,链接的动态库是/usr/local/lib/libcurl.so.4
 
查看使用的/usr/local/lib/libcurl.so.4动态库的详细信息
ls -al /usr/local/lib/libcurl.so.4
可以看到,/usr/local/lib/libcurl.so.4实际只是一个软链接,真实使用的动态库是 libcurl.so.4.4.0。而安装的curl版本更新。
 
 
查找所有的libcurl 动态库
find / -name "libcurl.*"
我们需要链接最新版本的动态库 /usr/lib64/libcurl.so.4.8.0
 
建立引用使用最新的libcurl库
rm /usr/local/lib/libcurl.so.4
ln -s /usr/lib64/libcurl.so.4.8.0 /usr/local/lib/libcurl.so.4
 
查看链接是否正确
ls -al /usr/local/lib/libcurl.so.4
已经成功建立链接
 
再次测试curl,发现已经可以正常使用了
0条评论
0 / 1000
李****壮
4文章数
0粉丝数
李****壮
4 文章 | 0 粉丝
原创

升级curl版本,及升级后引起的动态库链接不正常问题的解决

2023-08-04 08:11:50
66
0

服务器使用的curl,可能版本较低,无法支持请求ipv6地址等新功能,此时,就需要升级curl版本。一般的云源提供的版本本身较低,需要指定特定的云源进行升级。升级后,部分机器会产生动态库链接不正确的问题,虽然curl程序已升级到最新,但未正确链接对应最新版本的动态库,导致curl程序的执行错误。需要重新建立curl程序与动态库的链接。

以下介绍针对centos系统

一、新建yum源

通过

vi /etc/yum.repos.d/city-fan.repo  
 
插入以下内容
 
新建一个云源,支持较新版本的curl的升级,如果有其他合适的云源,也可以不用这个云源
 
指定该云源对 curl升级
yum update curl --enablerepo=CityFanforCurl -y
 
二、可能出现libcurl不匹配的问题及解决
 
更新完curl以后,执行curl命令,可能存在curl执行不了,报错的问题,此时,可能是curl链接的动态库不正确,链接到老版本curl的动态库。
 
先查找curl 使用的libcurl 动态库
ldd /usr/bin/curl | grep libcurl
看到当前curl 程序,链接的动态库是/usr/local/lib/libcurl.so.4
 
查看使用的/usr/local/lib/libcurl.so.4动态库的详细信息
ls -al /usr/local/lib/libcurl.so.4
可以看到,/usr/local/lib/libcurl.so.4实际只是一个软链接,真实使用的动态库是 libcurl.so.4.4.0。而安装的curl版本更新。
 
 
查找所有的libcurl 动态库
find / -name "libcurl.*"
我们需要链接最新版本的动态库 /usr/lib64/libcurl.so.4.8.0
 
建立引用使用最新的libcurl库
rm /usr/local/lib/libcurl.so.4
ln -s /usr/lib64/libcurl.so.4.8.0 /usr/local/lib/libcurl.so.4
 
查看链接是否正确
ls -al /usr/local/lib/libcurl.so.4
已经成功建立链接
 
再次测试curl,发现已经可以正常使用了
文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0