CentOS7.4安装Redis6.0.6
2020-08-16 本文已影响0人
爱恨_交加
- 检查是否安装了gcc,如果未安装则先安装gcc
gcc版本过低会导致编译构建失败,详见下文问题1。因此,有必要查看版本,视情况升级gcc版本
# 查看gcc版本,看是否安装了gcc
gcc -v
# 安装gcc,然后选择"y"一直继续下去
yum install gcc
- 下载 redis 并解压
# 在保存 redis 的目录执行如下命令
wget http://download.redis.io/releases/redis-6.0.6.tar.gz
tar xzf redis-6.0.6.tar.gz
- 编译构建 redis
cd redis-6.0.6/
# PREFIX 指定编译后保存redis命令的路径,同时redis目录的src下也保存一份
make PREFIX=/usr/local/redis install
问题
- 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