Linux安装redis出现的一点问题

gcc版本不够高

安装的时候出现了:

release.c:37:21: 致命错误:release.h:没有那个文件或目录
 #include "release.h"

然后发现是安装 redis 6.0 需要 gcc 的版本为 5.0 以上,但是我的 gcc 版本才 4.8+,于是需要升级一下 gcc 的版本。总结一下我升级 gcc 的一个流程,因为 Linux 服务器很多内容都没有下载,所以这里我的步骤包括了一些指令包的下载。如果已安装的可以省略。

  1. 安装 wget
yum -y install wget 
  1. 安装阿里源,阿里源需要在 /etc/yum. repos. d 目录下安装
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
  1. 安装一下 scl 源
yum install centos-release-scl scl-utils-build -y
  1. 列出 scl 有哪些源可以用
yum list all --enablerepo='centos-sclo-rh'
  1. 安装 8 版本的 gcc、gcc-c++、gdb 工具链(toolchian)
yum install -y devtoolset-8-toolchain
  1. 查看 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.

解决方法:

  1. cd 到文件中的 src 目录
  2. chmod +x mkreleasehdr. sh
  3. make

make 之后没有报错,但是出现了如下提示:

Hint: It's a good idea to run 'make test' ;)

这个不用管,没有 error 就是安装成功。然后 redis 会安装在 /usr/local/bin 目录下(注:我的安装包在 /usr/local/src 下)

最后任意目录下输入 redis-server 即可在前台启动。

posted @ 2022-11-16 22:19  ShaunY  阅读(136)  评论(0编辑  收藏  举报