编译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编译即可正常编译通过

posted @ 2020-12-23 17:34  chili7  阅读(1337)  评论(0编辑  收藏  举报