CentOS7.4安装Redis6.0.6

2020-08-16  本文已影响0人  爱恨_交加
  1. 检查是否安装了gcc,如果未安装则先安装gcc

gcc版本过低会导致编译构建失败,详见下文问题1。因此,有必要查看版本,视情况升级gcc版本

# 查看gcc版本,看是否安装了gcc
gcc -v
# 安装gcc,然后选择"y"一直继续下去
yum install gcc
  1. 下载 redis 并解压
# 在保存 redis 的目录执行如下命令
wget http://download.redis.io/releases/redis-6.0.6.tar.gz
tar xzf redis-6.0.6.tar.gz
  1. 编译构建 redis
cd redis-6.0.6/
# PREFIX 指定编译后保存redis命令的路径,同时redis目录的src下也保存一份
make PREFIX=/usr/local/redis install

问题

  1. gcc版本过低导致执行 make 失败
...
server.c:5212:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员
     redisSetCpuAffinity(server.server_cpulist);
                               ^
server.c: 在函数‘hasActiveChildProcess’中:
server.c:1480:1: 警告:在有返回值的函数中,控制流程到达函数尾 [-Wreturn-type]
 }
 ^
server.c: 在函数‘allPersistenceDisabled’中:
server.c:1486:1: 警告:在有返回值的函数中,控制流程到达函数尾 [-Wreturn-type]
 }
 ^
server.c: 在函数‘writeCommandsDeniedByDiskError’中:
server.c:3826:1: 警告:在有返回值的函数中,控制流程到达函数尾 [-Wreturn-type]
 }
 ^
server.c: 在函数‘iAmMaster’中:
server.c:5000:1: 警告:在有返回值的函数中,控制流程到达函数尾 [-Wreturn-type]
 }
 ^
make[1]: *** [server.o] 错误 1
make[1]: 离开目录“/opt/module/redis-6.0.6/src”
make: *** [install] 错误 2

升级gcc版本

# 查看当前版本
gcc -v
# 升级到9.1版本
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
# 临时启用
scl enable devtoolset-9 bash
# 如果要长期使用gcc 9.1的话
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
上一篇 下一篇

猜你喜欢

热点阅读