动态链接库引起的yum故障

Posted iwalkman

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动态链接库引起的yum故障相关的知识,希望对你有一定的参考价值。

动态链接库引起的yum故障

公司开发安装程序后,执行yum报错,报错信息:

/usr/lib64/python2.7/site-packages/pycurl.so: undefined symbol: CRYPTO_set_locking_callback

原因是yum无法找到pycurl.so

查看动态库连接,注意libcurl的位置

#ldd /usr/lib64/python2.7/site-packages/pycurl.so
linux-vdso.so.1 => (0x00007ffc5cbcb000)
libcurl.so.4 => /lib64/libcurl.so.4 (0x00007f1e6901b000)

执行ldconfig -v | grep libcurl
发现有2个libcurl

libcurl.so.4 -> libcurl.so.4.5.0
libcurl.so.4 -> libcurl.so.4.1.1

查找文件位置

# find / -name "libcurl.so.4.*"
/usr/local/lib/libcurl.so.4.5.0
/usr/lib64/libcurl.so.4.1.1

解决方法,切换到root用户
将/etc/ld.so.conf里的libcurl路径去掉;执行ldconfig,重新生成缓存,yum 就可以用了。

知识补充

ldconfig
一个动态链接库管理命令。为了让动态链接库为系统所共享,还需运行动态链接库的管理命令ldconfig。ldconfig命令的用途主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如lib*.so),进而创建出动态装入程序(ld.so)所需的连接和缓存文件。缓存文件默认在 /etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表。

ldd
用来查看程序运行所需的共享库,常用来解决程序因缺少某个库文件而不能运行的一些问题。





以上是关于动态链接库引起的yum故障的主要内容,如果未能解决你的问题,请参考以下文章

电脑故障起因与诊断

电脑XP突然蓝屏,说是为了避免更多伤害,引起问题的原因是file:ialmrnt5.请问如何解决此问题

vs链接错误解决方法

rpm yum 源代码编译

GCC 编译使用动态链接库 LD

电脑老是出现“无法定位序数4445于动态链接库”,是怎么回事儿?