报错

Redis6.0以后版本安装报错问题_redis


server.c:5201:19: 错误:‘struct redisServer’没有名为‘supervised_mode’的成员

if (server.supervised_mode == SUPERVISED_SYSTEMD) {

^

server.c:5208:15: 错误:‘struct redisServer’没有名为‘maxmemory’的成员

if (server.maxmemory > 0 && server.maxmemory < 10241024) {
^
server.c:5208:39: 错误:‘struct redisServer’没有名为‘maxmemory’的成员
if (server.maxmemory > 0 && server.maxmemory < 1024
1024) {

^

server.c:5209:176: 错误:‘struct redisServer’没有名为‘maxmemory’的成员

serverLog(LL_WARNING,“WARNING: You specified a maxmemory value that is less than 1MB (current value is %llu bytes). Are you sure this is what you really want?”, server.maxmemory);

^

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]

分析

由于gcc版本过低,不匹配Redis6.0以后所以无法编译

解决

更新gcc到八以上
第一步:

yum install centos-release-scl scl-utils-build

第二步:

yum install -y devtoolset-8-toolchain

第三步:

echo "source /opt/rh/devtoolset-8/enable" >>/etc/profile

升级后可以查看一下版本

gcc -v

Redis6.0以后版本安装报错问题_linux_02