Redis学习笔记3之6.0.1版本安装

Redis学习笔记3之6.0.1版本安装

  • 解压编译时报错:
  • 其他步骤参考

解压编译时报错:

/redis-6.0.1 # make && make test && make install
make[3]: 离开目录“/usr/local/redis/redis-6.0.1/deps/jemalloc”
make[2]: 离开目录“/usr/local/redis/redis-6.0.1/deps”
    CC adlist.o
    CC quicklist.o
    CC ae.o
    CC anet.o
    CC dict.o
    CC server.o
In file included from server.c:30:0:
server.h:1044:5: 错误:expected specifier-qualifier-list before ‘_Atomic’
     _Atomic unsigned int lruclock; /* Clock for LRU eviction */
     ^
server.c: 在函数‘serverLogRaw’中:
server.c:1028:31: 错误:‘struct redisServer’没有名为‘logfile’的成员
     int log_to_stdout = server.logfile[0] == '\0';
                               ^
server.c:1031:23: 错误:‘struct redisServer’没有名为‘verbosity’的成员
     if (level < server.verbosity) return;
                       ^
server.c:1033:47: 错误:‘struct redisServer’没有名为‘logfile’的成员
     fp = log_to_stdout ? stdout : fopen(server.logfile,"a");
                                               ^
server.c:1046:47: 错误:‘struct redisServer’没有名为‘timezone’的成员
         nolocks_localtime(&tm,tv.tv_sec,server.timezone,server.daylight_active);

...省略N行...      
...省略N行...
...省略N行...

server.c: 在函数‘iAmMaster’中:
server.c:4914:1: 警告:在有返回值的函数中,控制流程到达函数尾 [-Wreturn-type]
 }
 ^
make[1]: *** [server.o] 错误 1
make[1]: 离开目录“/usr/local/redis/redis-6.0.1/src”
make: *** [all] 错误 2

网上查阅资料,说是gcc版本太低导致,查看系统的gcc版本

# gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)
Copyright © 2015 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。

解决gcc版本更新问题参考

  • 安装scl源
yum install centos-release-scl scl-utils-build
  • 列出scl可用源
yum list all --enablerepo='centos-sclo-rh'
  • 安装8版本的gcc、gcc-c++、gdb工具链(toolchian)
yum install -y devtoolset-8-toolchain
scl enable devtoolset-8 bash
gcc --version

再次编译,报错解决:yum install -y tcl

make[1]: 离开目录“/usr/local/redis/redis-5.0.8/src”
cd src && make test
make[1]: 进入目录“/usr/local/redis/redis-5.0.8/src”
You need tcl 8.5 or newer in order to run the Redis test
make[1]: *** [test] 错误 1
make[1]: 离开目录“/usr/local/redis/redis-5.0.8/src”
make: *** [test] 错误 2

其他步骤参考

Redis学习笔记1之单节点安装和持久化

你可能感兴趣的:(Redis)