這篇文章主要給大家介紹了在yum中報錯: “pycurl.so: undefined symbol: crypto_num_locks”的問題排查的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
最近在工作中發(fā)現(xiàn)一個問題,yum無法使用,報錯如下:
/usr/lib64/python2.7/site-packages/pycurl.so:?undefined?symbol:?CRYPTO_num_locks
ldd /usr/lib64/python2.7/site-packages/pycurl.so 查看一下動態(tài)庫連接
注意:libcurl的位置
查看一下libcurl是否有什么異常的配置
ldconfig -v | grep libcurl 發(fā)現(xiàn)兩個libcurl
檢查ld.so.conf的配置
對比正常的測試機(jī)
根據(jù)前面的ldd來看,去掉local lib試試
vi /etc/ld.so.conf
執(zhí)行l(wèi)dconfig ,重新生成緩存,無返回,測試yum還是不行
ldconfig -p|grep curl 看下加載
繼續(xù)查找
緩存對應(yīng)的目錄,然后刷新緩存(這里很明顯是MySQL設(shè)置的libcurl地址,經(jīng)過核實后,發(fā)現(xiàn)MySQL緩存有問題,已經(jīng)刪除了)
yum 現(xiàn)在可以用了。
知識擴(kuò)展:
ldconfig 是一個動態(tài)鏈接庫管理命令,為了讓動態(tài)鏈接庫為系統(tǒng)所共享,還需運行動態(tài)鏈接庫的管理命令–ldconfig。
ldconfig 命令的用途,主要是在默認(rèn)搜尋目錄(/lib和/usr/lib)以及動態(tài)庫緩存/etc/ld.so.conf內(nèi)所列的目錄下,緩存出可共享的動態(tài) 鏈接庫(格式如前介紹,lib*.so*),進(jìn)而創(chuàng)建出動態(tài)裝入程序(ld.so)所需的連接和緩存文件.緩存文件默認(rèn)為 /etc/ld.so.cache,此文件保存已排好序的動態(tài)鏈接庫名字列表.
ldd 作用:用來查看程序運行所需的共享庫,常用來解決程序因缺少某個庫文件而不能運行的一些問題。