linux安装redis执行make命令报cc1文件找不到
事情起因
我在给离线得政务网服务器安装redis,执行make命令报了cc1文件找不到(注意这里是已经在linux中安装了gcc,g++等服务(因为安装redis需要gcc等基础服务)
探索过程
但是我已经安装了gcc,为啥还是报错呢,于是乎就根据这个报错浏览其相关信息后找到有点蛛丝马迹
1. 检查gcc、gcc-c++是否安装rpm -qa gcc、rpm -qa gcc-c++(已安装);
2. 检查glibc-devel、cpp、binutils、mpfr、jemalloc是否安装(未安装);
根据这个思路我猜测主要是相关依赖无法找到
验证猜想
1.先尝试找找这个cc1文件
全局查找cc1文件
find / -name cc1
确实没有
2.验证上述依赖是否存在(只展示了部分验证)
rpm -qa glibc-devel
3.安装依赖后再找cc1文件看是否存在
这里我讲下, 上述服务器是离线环境,所以一般装包需要一台差不多环境得linux服务器(在线可联网的),先将rpm包下到本地后再将rpm包上传到离线服务器
这将下载 gcc-c++ 及其依赖库的 RPM 包
yumdownloader --resolve cpp
在cpp目录下安装cpp包
不强制安装也会给出提示为啥安装失败
rpm -ivh *.rpm --nodeps;
结果验证
集安装,验证依赖及重新找cc1文件命令
当然安装redis其它命令也需要安装,这里没有一一演示出来,验证逻辑从第一个glibc-devel直到最后一个(掌握这种思路逻辑即可)
注意: 从本地电脑拷包时,有可能包没下全,我这边本地下的cpp的rpm包大约有6M,但拷到离线服务器的只有896K(可能没下全)导致一直提示安装cpp包失败,排查了好一会以为两台电脑环境不兼容