編譯redis-5.0.8報錯/usr/bin/ld: cannot find -latomic解決方法


https://bbs.huaweicloud.com/forum/thread-59424-1-1.html

【問題描述】

使用make編譯開源組件redis-5.0.8版本報/usr/bin/ld: cannot find -latomic錯誤,詳細報錯如下截圖:

image.png

【問題分析】

latomic代表的是 libatomic.so,也即是在編譯的過程中,需要libatomic.so庫,而系統又找不到這個庫

解決方法是手動找到這個庫,可能存在如下幾種情況:

1、系統中沒有安裝依賴庫libatomic.so,通過執行yum -y install *atomic*安裝相關依賴,安裝后執行rpm -qa | grep atomic查看是否安裝了相關依賴

image.png

2、系統可能已經存在libatomic.so,但是不在默認查找路徑(/usr/lib之類的路徑),而是在其他路徑中

3、系統中沒有libatomic.so這個庫,但是找到類似 libatomic.so.1.0 這種帶版本號的庫,通過執行find / -name "libatomic.so*"來確認

image.png

【解決方法】

使用軟鏈接的方法將依賴庫libatomic.so鏈接到正確路徑,執行如下命令:

sudo ln -s /usr/lib64/libatomic.so.1.2.0 /usr/lib/libatomic.so

image.png

然后再執行make編譯即可正常編譯通過


免責聲明!

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



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