在输入make命令后报了一堆错误怎么办?

在输入make命令后报了一堆错误怎么办?

[root@promote ~]# cd /usr/local

[root@promote local]# ll

总用量 0

drwxr-xr-x. 2 root root  6 4月  11 2018 bin

drwxr-xr-x. 2 root root  6 4月  11 2018 etc

drwxr-xr-x. 2 root root  6 4月  11 2018 games

drwxr-xr-x. 2 root root  6 4月  11 2018 include

drwxr-xr-x. 2 root root  6 4月  11 2018 lib

drwxr-xr-x. 2 root root  6 4月  11 2018 lib64

drwxr-xr-x. 2 root root  6 4月  11 2018 libexec

drwxr-xr-x. 3 root root 51 5月  27 23:40 redis

drwxr-xr-x. 2 root root  6 4月  11 2018 sbin

drwxr-xr-x. 5 root root 49 5月  11 22:47 share

drwxr-xr-x. 2 root root  6 4月  11 2018 src

[root@promote local]# mkdir redis

mkdir: 无法创建目录"redis": 文件已存在

[root@promote local]# cd redis

[root@promote redis]# yum install gcc

已加载插件:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

 * base: mirrors.nju.edu.cn

 * extras: mirrors.cn99.com

 * updates: mirrors.cn99.com

软件包 gcc-4.8.5-39.el7.x86_64 已安装并且是最新版本

无须任何处理

[root@promote redis]# wget http://download.redis.io/releases/redis-6.0.3.tar.gz

--2020-05-27 23:50:44--  http://download.redis.io/releases/redis-6.0.3.tar.gz

正在解析主机 download.redis.io (download.redis.io)... 109.74.203.151

正在连接 download.redis.io (download.redis.io)|109.74.203.151|:80... 已连接。

已发出 HTTP 请求,正在等待回应... 302 Found

位置:http://183.207.95.35/cache/download.redis.io/releases/redis-6.0.3.tar.gz?ich_args2=588-27235009046545_03349d89cf638f7e69afd8be2271554d_10001002_9c896d2cd2caf5d79332518939a83798_6206ca91afe23bd2a9b26964279e1925 [跟随至新的 URL]

--2020-05-27 23:50:50--  http://183.207.95.35/cache/download.redis.io/releases/redis-6.0.3.tar.gz?ich_args2=588-27235009046545_03349d89cf638f7e69afd8be2271554d_10001002_9c896d2cd2caf5d79332518939a83798_6206ca91afe23bd2a9b26964279e1925

正在连接 183.207.95.35:80... 已连接。

已发出 HTTP 请求,正在等待回应... 200 OK

长度:2210882 (2.1M) [application/x-gzip]

正在保存至: “redis-6.0.3.tar.gz.1”


100%[======================================>] 2,210,882   7.59MB/s 用时 0.3s   


2020-05-27 23:50:50 (7.59 MB/s) - 已保存 “redis-6.0.3.tar.gz.1” [2210882/2210882])


[root@promote redis]# ll

总用量 4324

drwxrwxr-x. 7 root root    4096 5月  27 23:43 redis-6.0.3

-rw-r--r--. 1 root root 2210882 5月  17 00:18 redis-6.0.3.tar.gz

-rw-r--r--. 1 root root 2210882 5月  17 00:18 redis-6.0.3.tar.gz.1

[root@promote redis]# tar xzf redis-6.0.3.tar.gz

[root@promote redis]# ll

总用量 4324

drwxrwxr-x. 7 root root    4096 5月  17 00:11 redis-6.0.3

-rw-r--r--. 1 root root 2210882 5月  17 00:18 redis-6.0.3.tar.gz

-rw-r--r--. 1 root root 2210882 5月  17 00:18 redis-6.0.3.tar.gz.1

[root@promote redis]# cd redis-6.0.3

[root@promote redis-6.0.3]# ll

总用量 2400

-rw-rw-r--.  1 root root   59610 5月  17 00:11 00-RELEASENOTES

-rw-rw-r--.  1 root root      53 5月  17 00:11 BUGS

-rw-rw-r--.  1 root root    2381 5月  17 00:11 CONTRIBUTING

-rw-rw-r--.  1 root root    1487 5月  17 00:11 COPYING

drwxrwxr-x.  6 root root     192 5月  17 00:11 deps

-rw-rw-r--.  1 root root      11 5月  17 00:11 INSTALL

-rw-rw-r--.  1 root root     151 5月  17 00:11 Makefile

-rw-rw-r--.  1 root root    6888 5月  17 00:11 MANIFESTO

-rw-rw-r--.  1 root root   20812 5月  17 00:11 README.md

-rw-r--r--.  1 root root 2210882 5月  17 00:18 redis-6.0.3.tar.gz

-rw-rw-r--.  1 root root   82573 5月  17 00:11 redis.conf

-rwxrwxr-x.  1 root root     275 5月  17 00:11 runtest

-rwxrwxr-x.  1 root root     280 5月  17 00:11 runtest-cluster

-rwxrwxr-x.  1 root root     679 5月  17 00:11 runtest-moduleapi

-rwxrwxr-x.  1 root root     281 5月  17 00:11 runtest-sentinel

-rw-rw-r--.  1 root root   10743 5月  17 00:11 sentinel.conf

drwxrwxr-x.  3 root root    4096 5月  17 00:11 src

drwxrwxr-x. 11 root root     182 5月  17 00:11 tests

-rw-rw-r--.  1 root root    3167 5月  17 00:11 TLS.md

drwxrwxr-x.  9 root root    4096 5月  17 00:11 utils


==========================================================

[root@promote redis-6.0.3]# make

cd src && make all

make[1]: 进入目录“/usr/local/redis/redis-6.0.3/src”

    CC server.o

In file included from server.c:30:0:

server.h:1045: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);

                                               ^

server.c:1046:63: 错误:‘struct redisServer’没有名为‘daylight_active’的成员

         nolocks_localtime(&tm,tv.tv_sec,server.timezone,server.daylight_active);

                                                               ^

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

         if (server.sentinel_mode) {

                   ^

server.c:1054:32: 错误:‘struct redisServer’没有名为‘masterhost’的成员

             role_char = (server.masterhost ? 'S':'M'); /* Slave or Master. */

                                ^

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

     if (server.syslog_enabled) syslog(syslogLevelMap[level], "%s", msg);




后面还有好多报错

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
提问者 xxxxxxb 2020-05-28 00:27:39

这里我解决了:

虽然输入yum install gcc显示gcc-4.8.5已安装且最新,但其实还有更新的版本

查了下想要make现在最新的redis-6.0.3需要更新gcc

以下为更新方法:

==================

安装scl源

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


列出scl可用源

1 #yum list all --enablerepo='centos-sclo-rh'

安装8版本的gcc、gcc-c++、gdb工具链(toolchian)

1#yum install -y devtoolset-8-toolchain

2#scl enable devtoolset-8 bash

3#gcc --version

原文链接:https://blog.csdn.net/weixin_42486134/article/details/106164997


  • 同学你好,很棒呢!独立解决问题在开发过程中也是非常重要的。继续加油吧 祝学习愉快~
    2020-05-28 09:41:27
  • 解决了,感谢!
    2021-02-10 10:38:02
提问者 xxxxxxb 2020-05-28 00:04:36

噢,看了下其他同学的问题

输入yum  -y install make发现无需安装了


[root@promote redis-6.0.3]# yum  -y install make

已加载插件:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

 * base: mirrors.nju.edu.cn

 * extras: mirrors.cn99.com

 * updates: mirrors.cn99.com

软件包 1:make-3.82-24.el7.x86_64 已安装并且是最新版本

无须任何处理


  • 提问者 xxxxxxb #1
    似乎不太对 因为src下似乎并没有redis-server或者redis.cli =============== -rw-r--r--. 1 root root 127 5月 27 23:41 quicklist.d -rw-rw-r--. 1 root root 9423 5月 17 00:11 quicklist.h -rw-r--r--. 1 root root 82704 5月 27 23:41 quicklist.o -rw-rw-r--. 1 root root 3848 5月 17 00:11 rand.c -rw-rw-r--. 1 root root 1763 5月 17 00:11 rand.h -rw-rw-r--. 1 root root 76514 5月 17 00:11 rax.c -rw-rw-r--. 1 root root 9620 5月 17 00:11 rax.h -rw-rw-r--. 1 root root 2082 5月 17 00:11 rax_malloc.h -rw-rw-r--. 1 root root 101603 5月 17 00:11 rdb.c -rw-rw-r--. 1 root root 7619 5月 17 00:11 rdb.h -rw-rw-r--. 1 root root 2418 5月 17 00:11 redisassert.h -rw-rw-r--. 1 root root 64740 5月 17 00:11 redis-benchmark.c -rw-rw-r--. 1 root root 7175 5月 17 00:11 redis-check-aof.c -rw-rw-r--. 1 root root 13676 5月 17 00:11 redis-check-rdb.c -rw-rw-r--. 1 root root 303926 5月 17 00:11 redis-cli.c -rw-rw-r--. 1 root root 52902 5月 17 00:11 redismodule.h -rwxrwxr-x. 1 root root 3600 5月 17 00:11 redis-trib.rb -rw-rw-r--. 1 root root 2591 5月 17 00:11 release.c -rw-r--r--. 1 root root 122 5月 27 23:40 release.h -rw-rw-r--. 1 root root 138283 5月 17 00:11 replication.c -rw-rw-r--. 1 root root 15524 5月 17 00:11 rio.c -rw-rw-r--. 1 root root 6632 5月 17 00:11 rio.h -rw-rw-r--. 1 root root 98754 5月 17 00:11 scripting.c
    2020-05-28 00:11:50
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师