最近项目需要在centos上默认配置源码安装了libcurl模块,导致使用yum命令时出现如下错误,(实际在很多使用libcurl的地方都会出错)。
/usr/lib64/python2.6/site-packages/pycurl.so: undefined symbol: CRYPTO_set_locking_callback
CRYPTO_set_locking_callback实际上是与ssl相关的资源。
由于默认安装时没有指明安装ssl模块,导致新依赖的libcurl缺少ssl,从而出现如上错误。
解决方法:
下载ssl,编译安装,
./config --shared (注意需要使能--share动态库模块,否则后续编译libcurl出错)
make && make install (ssl默认安装在/usl/local/ssl/目录下)
然后设置动态库路径export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/ssl/lib
重新编译安装libcurl执行
./configure --with-ssl=/usr/local/ssl/
make && make install
最后将libcurl安装目录(/usr.local/lib/)和/usr/local/ssl/lib/ 写入 /etc/ld.so.conf文件
ldconfig更新链接目录缓存
重新执行yum成功!
本文解决了一个在CentOS上安装libcurl模块后使用yum命令出现的错误问题。原因是新安装的libcurl缺少SSL支持。通过编译安装SSL并配置libcurl来启用SSL支持,最终解决了这个问题。
957

被折叠的 条评论
为什么被折叠?



