1. 程式人生 > 其它 >Centos7安裝redis6.0.X時遇到的問題

Centos7安裝redis6.0.X時遇到的問題

技術標籤:Linux 設定、軟體安裝、小知識點Redis

目錄

錯誤1

在make的時候,提示如下錯誤:

server.c:5170:39: error: ‘struct redisServer’ has no member named ‘maxmemory’
if (server.maxmemory > 0 && server.maxmemory < 1024*1024) {
                                  ^
server.c:5171:176: error: ‘struct redisServer’ has no member named ‘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:5174:31: error: ‘struct redisServer’ has no member named ‘server_cpulist’ redisSetCpuAffinity(
server.server_cpulist);

在這裡插入圖片描述

錯誤原因:gcc版本太低
解決辦法:升級gcc

# 檢視gcc版本是否在5.3以上,centos7.6預設安裝4.8.5
gcc -v
# 升級gcc到5.3及以上,
如下:
升級到gcc 9.3:

yum -y install centos-release-scl

yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils

scl enable devtoolset-9 bash

需要注意的是scl命令啟用只是臨時的,退出shell或重啟就會恢復原系統gcc版本。
如果要長期使用gcc 9.3的話:

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

這樣退出shell重新開啟就是新版的gcc了(PS:重啟Centos7即可)
以下其他版本同理,修改devtoolset版本號即可

安裝redis-6.0.9

wget http://download.redis.io/releases/redis-6.0.9.tar.gz

tar -zxvf redis-6.0.9.tar.gz 
cd redis-6.0.9/
make
make install
make test # 嫌浪費時間可以跳過