编译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