1. 程式人生 > 實用技巧 >編譯redis6報錯/usr/bin/ld: cannot find -latomic解決方法

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

少環境 --->原文:https://bbs.huaweicloud.com/forum/thread-59424-1-1.html

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

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

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

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

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

【解決方法】

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

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

 

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