编译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错误,详细报错如下截图:
【问题分析】
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编译即可正常编译通过