我正在尝试在我的 Pi 上安装 Redis。与下一个链接中解释的步骤相同:https://redis.io/download
$ wget http://download.redis.io/releases/redis-5.0.5.tar.gz
$ tar xzf redis-5.0.5.tar.gz
$ cd redis-5.0.5
$ make
一段时间后下一条消息被返回-->
/usr/bin/ld: networking.o: in function `createClient':
/home/pi/redis-stable/src/networking.c:109: undefined reference to `__atomic_fetch_add_8'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:219: redis-server] Error 1
make[1]: Leaving directory '/home/pi/redis-stable/src'
make: *** [Makefile:6: all] Error 2
其他方法:
#!/bin/bash
# Installing redis from tar, we need the newest for Redis Stream
rm -rf /etc/redis
mkdir -p /etc/redis
cd /etc/redis
wget http://download.redis.io/releases/redis-5.0.3.tar.gz
tar xzf redis-5.0.3.tar.gz
cd redis-5.0.3
make cleandist
make
make install
最佳答案
我自己没有遇到过这个问题,但似乎 libatomic.so 在我的 Raspberry Pi 上提供了这个符号。因此,尝试将 -latomic 添加到链接器标志(LDFLAGS='-latomic'
以配置项目是否使用 GNU Autoconf,-DCMAKE_SHARED_LINKER_FLAGS='-latomic'
如果它使用 cmake等)。
您可能还必须安装软件包 libatomic-ops-dev(如果尚未安装)
编辑:似乎其他人也遇到过这个问题。例如,请参阅此 redis 错误:https://github.com/antirez/redis/issues/6275
Redis 似乎也有它自己的模糊构建系统。这样做可能有效:make FINAL_LIBS=-latomic
或者您可能必须修补 src/Makefile 以将 -latomic
添加到 FINAL_LIBS
变量
关于redis - 在 Pi 上安装 Redis 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57555686/