在 Pi 上安装 Redis 时出现问题



我正在尝试在我的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 在我的树莓派上提供了符号。因此,请尝试将 -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变量

最新更新