分享Yum中報錯的一篇實例講解

這篇文章主要給大家介紹了在yum中報錯: “pycurl.so: undefined symbol: crypto_num_locks”的問題排查的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。

最近在工作中發現一個問題,yum無法使用,報錯如下:

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

分享Yum中報錯的一篇實例講解

ldd /usr/lib64/python2.7/site-packages/pycurl.so 查看一下動態庫連接

注意:libcurl的位置

分享Yum中報錯的一篇實例講解

查看一下libcurl是否有什么異常的配置

ldconfig -v | grep libcurl 發現兩個libcurl

分享Yum中報錯的一篇實例講解

檢查ld.so.conf的配置

分享Yum中報錯的一篇實例講解

對比正常的測試機

分享Yum中報錯的一篇實例講解

根據前面的ldd來看,去掉local lib試試

vi /etc/ld.so.conf

執行ldconfig ,重新生成緩存,無返回,測試yum還是不行

ldconfig -p|grep curl 看下加載

分享Yum中報錯的一篇實例講解

繼續查找

分享Yum中報錯的一篇實例講解

緩存對應的目錄,然后刷新緩存(這里很明顯是MySQL設置的libcurl地址,經過核實后,發現MySQL緩存有問題,已經刪除了)

分享Yum中報錯的一篇實例講解

yum 現在可以用了。

知識擴展:

ldconfig 是一個動態鏈接庫管理命令,為了讓動態鏈接庫為系統所共享,還需運行動態鏈接庫的管理命令–ldconfig。

ldconfig 命令的用途,主要是在默認搜尋目錄(/lib和/usr/lib)以及動態庫緩存/etc/ld.so.conf內所列的目錄下,緩存出可共享的動態 鏈接庫(格式如前介紹,lib*.so*),進而創建出動態裝入程序(ld.so)所需的連接和緩存文件.緩存文件默認為 /etc/ld.so.cache,此文件保存已排好序的動態鏈接庫名字列表.

ldd 作用:用來查看程序運行所需的共享庫,常用來解決程序因缺少某個庫文件而不能運行的一些問題。

? 版權聲明
THE END
喜歡就支持一下吧
點贊14 分享