1、Centos7版本安装redis6.0版本,报下面的错误,如下所示:
1 erver.c:5430:168: 错误:‘struct redisServer’没有名为‘sentinel_mode’的成员
2 serverLog(LL_WARNING, "Warning: no config file specified, using the default config. In order to specify a config file use %s /path/to/%s.conf", argv[0], server.sentinel_mode ? "sentinel" : "redis");
3 ^
4 server.c:5437:29: 错误:‘struct redisServer’没有名为‘pidfile’的成员
5 if (background || server.pidfile) createPidFile();
6 ^
7 server.c:5442:16: 错误:‘struct redisServer’没有名为‘sentinel_mode’的成员
8 if (!server.sentinel_mode) {
9 ^
10 server.c:5461:19: 错误:‘struct redisServer’没有名为‘cluster_enabled’的成员
11 if (server.cluster_enabled) {
12 ^
13 server.c:5469:19: 错误:‘struct redisServer’没有名为‘ipfd_count’的成员
14 if (server.ipfd_count > 0 || server.tlsfd_count > 0)
15 ^
16 server.c:5469:44: 错误:‘struct redisServer’没有名为‘tlsfd_count’的成员
17 if (server.ipfd_count > 0 || server.tlsfd_count > 0)
18 ^
19 server.c:5471:19: 错误:‘struct redisServer’没有名为‘sofd’的成员
20 if (server.sofd > 0)
21 ^
22 server.c:5472:94: 错误:‘struct redisServer’没有名为‘unixsocket’的成员
23 serverLog(LL_NOTICE,"The server is now ready to accept connections at %s", server.unixsocket);
24 ^
25 server.c:5473:19: 错误:‘struct redisServer’没有名为‘supervised_mode’的成员
26 if (server.supervised_mode == SUPERVISED_SYSTEMD) {
27 ^
28 server.c:5474:24: 错误:‘struct redisServer’没有名为‘masterhost’的成员
29 if (!server.masterhost) {
30 ^
31 server.c:5484:19: 错误:‘struct redisServer’没有名为‘supervised_mode’的成员
32 if (server.supervised_mode == SUPERVISED_SYSTEMD) {
33 ^
34 server.c:5491:15: 错误:‘struct redisServer’没有名为‘maxmemory’的成员
35 if (server.maxmemory > 0 && server.maxmemory < 1024*1024) {
36 ^
37 server.c:5491:39: 错误:‘struct redisServer’没有名为‘maxmemory’的成员
38 if (server.maxmemory > 0 && server.maxmemory < 1024*1024) {
39 ^
40 server.c:5492:176: 错误:‘struct redisServer’没有名为‘maxmemory’的成员
41 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);
42 ^
43 server.c:5495:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员
44 redisSetCpuAffinity(server.server_cpulist);
45 ^
46 server.c: 在函数‘hasActiveChildProcess’中:
47 server.c:1482:1: 警告:在有返回值的函数中,控制流程到达函数尾 [-Wreturn-type]
48 }
49 ^
50 server.c: 在函数‘allPersistenceDisabled’中:
51 server.c:1488:1: 警告:在有返回值的函数中,控制流程到达函数尾 [-Wreturn-type]
52 }
53 ^
54 server.c: 在函数‘writeCommandsDeniedByDiskError’中:
55 server.c:3948:1: 警告:在有返回值的函数中,控制流程到达函数尾 [-Wreturn-type]
56 }
57 ^
58 server.c: 在函数‘iAmMaster’中:
59 server.c:5274:1: 警告:在有返回值的函数中,控制流程到达函数尾 [-Wreturn-type]
60 }
61 ^
62 make[1]: *** [server.o] 错误 1
63 make[1]: 离开目录“/usr/local/soft/redis-6.0.10/src”
64 make: *** [all] 错误 2
65 [root@master redis-6.0.10]#
66 [root@master redis-6.0.10]#
67 [root@master redis-6.0.10]#
错误原因是gcc版本的问题,由于我使用的redis6.0版本的。查看gcc版本,如下所示:
1 [root@master redis-6.0.10]# gcc -v
2 使用内建 specs。
3 COLLECT_GCC=gcc
4 COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
5 目标:x86_64-redhat-linux
6 配置为:../c