CentOS6.5 環境下調用lightgbm庫報錯: OSError: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /usr/local/python3/lib/python3.6/site-packages/lightgbm/lib_lightgbm.so)


1、為何報錯?

  因工作需要在linux環境下運行一些python代碼,用到了lightgbm庫,而因為CentOS6.5的glibc版本內置是比較低的,而python代碼編譯時用了較高的版本。

2、網上的解決方案

  百度以后發現是比較常見的錯誤,網上給出的方式一般是分兩種

  1、使用類似 libstdc++.so.6.0.26 的一個文件替換原有的 動態鏈接庫

    本人嘗試該方法沒有成功,不過找到了對應文件(libstdc.so_.6.0.26),似乎多數地方都需要C幣,在此免費分享給大家。

    具體使用方法推薦下述鏈接,希望使用該方法就可以解決問題。

博客鏈接:https://blog.csdn.net/u012811841/article/details/77854581/
文件鏈接:http://www.vuln.cn/wp-content/uploads/2019/08/libstdc.so_.6.0.26.zip

  2、第二種是嘗試編譯整個庫,也沒有成功,而且比較費時間,對編譯了解的比較多的人可以嘗試一下,這里就不貼鏈接了。

  3、第三種是修改依賴程度的,這個沒有做過嘗試。貼一下鏈接,可能會提供一些思路,但方法並未嘗試過。

博客鏈接:https://www.cnblogs.com/jhc888007/p/9400450.html

 

3、最終選用的方法(推薦)

 下圖是系統glibc的版本,gcc的版本是4.8.2。

strings /lib64/libc.so.6 |grep GLIBC

 

 

 

 紅框部分需要做如下操作就可以得到,也就解決了報錯。

直接使用 wget 命令下載 rpm文件並安裝,如果速度太慢可以直接下載再上傳。

wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-2.17-55.el6.x86_64.rpm
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-common-2.17-55.el6.x86_64.rpm
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-devel-2.17-55.el6.x86_64.rpm
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-headers-2.17-55.el6.x86_64.rpm

sudo rpm -Uvh glibc-2.17-55.el6.x86_64.rpm glibc-common-2.17-55.el6.x86_64.rpm glibc-devel-2.17-55.el6.x86_64.rpm glibc-headers-2.17-55.el6.x86_64.rpm

  

 

strings /lib64/libc.so.6 |grep GLIBC

再次查看glibc,發現glibc 2.14 已經有了,並且最新的已經到了 2.17版本。

希望不要再被這種沒意思的問題所困擾。 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM