gcc版本不够高
安装的时候出现了:
release.c:37:21: 致命错误:release.h:没有那个文件或目录
#include "release.h"
然后发现是安装 redis 6.0 需要 gcc 的版本为 5.0 以上,但是我的 gcc 版本才 4.8+,于是需要升级一下 gcc 的版本。总结一下我升级 gcc 的一个流程,因为 Linux 服务器很多内容都没有下载,所以这里我的步骤包括了一些指令包的下载。如果已安装的可以省略。
- 安装 wget
yum -y install wget
- 安装阿里源,阿里源需要在 /etc/yum. repos. d 目录下安装
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
- 安装一下 scl 源
yum install centos-release-scl scl-utils-build -y
- 列出 scl 有哪些源可以用
yum list all --enablerepo='centos-sclo-rh'
- 安装 8 版本的 gcc、gcc-c++、gdb 工具链(toolchian)
yum install -y devtoolset-8-toolchain
- 查看 gcc 版本
gcc -v
结果发现版本还是 4.8+
使用内建 specs。
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
目标:x86_64-redhat-linux
···中间我省略了
gcc 版本 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
刷新一下:
scl enable devtoolset-8 bash
再查看 gcc 版本就对了
make 指令安装 redis 找不到 release.h 文件或目录
具体错误内容如下:
h: ./mkreleasehdr.sh: 权限不够
CC release.o
release.c:37:10: fatal error: release.h: 没有那个文件或目录
#include "release.h"
^~~~~~~~~~~
compilation terminated.
解决方法:
- cd 到文件中的 src 目录
- chmod +x mkreleasehdr. sh
- make
make 之后没有报错,但是出现了如下提示:
Hint: It's a good idea to run 'make test' ;)
这个不用管,没有 error 就是安装成功。然后 redis 会安装在 /usr/local/bin 目录下(注:我的安装包在 /usr/local/src 下)
最后任意目录下输入 redis-server
即可在前台启动。