Centos7 GCC升级至10.2.0 出现g++:command not found

新搭建的一台测试机-centos7,安装的时候选了最小安装(后来知道这是一个多么作死的决定,想哭),测试机是不能联网的,全部安装必须离线安装

对机器安装boost时出现异常,编译boost时Failed to build Boost.Build build engine问题的解决

 

查找原因发现我没有安装gcc,然后我安装了系统自带的gcc 4.8.5,但还是没有解决问题,查找原因发现是GCC版本太低,需要升级,于是开启下面工程

1、下载GCC安装包 及其依赖

gcc-10.2.0.tar.gz

 

 百度网盘链接:https://pan.baidu.com/s/1JOmaO1i5KLv8gy_MwjFXJg
提取码:c8gh

(包含gcc、gcc-C++默认版本以及gcc10.2.0)

2、解压压缩包(我解压到了/usr/local/)

tar -zxvf gcc-10.2.0.tar.gz

3、上传依赖包到 /usr/local/gcc-9.10 目录下,并解压

tar -xf gmp-6.1.0.tar.bz2
tar -xf mpfr-3.1.4.tar.bz2
tar -xf mpc-1.0.3.tar.gz
tar -xf isl-0.18.tar.bz2

这个步骤中出现了一个异常,bzip2: Cannot exec: No such file or directory
这是因为没有安装bzip2-1.0.6.tar.gz
解决办法:下载并安装bzip2-1.0.6.tar.gz 百度网盘地址:
tar -xzvf  bzip2-1.0.6.tar.gz
cd bzip2-1.0.6
make -f Makefile-libbz2_so
make clean
make
make install

安装好bzip2后,继续上面解压依赖包

4、进入解压目录中
cd gcc-10.2.0/

5、建立软链接

ln -sf gmp-6.1.0 gmp

ln -sf mpfr-3.1.4 mpfr

ln -sf mpc-1.0.3 mpc

ln -sf isl-0.18 isl

6、新建bulid目录(与gcc-10.2.0同级)并进入该目录中

mkdir build && cd build

7、生成Makefile文件

../gcc-10.2.0/configure --prefix=/usr/local --enable-checking=release --enable-languages=c,c++ --disable-multilib

8、编译及安装

make && make install

执行中途出现异常,如下图,然后查看config.log文件,显示g++:command not foun


 

该问题的原因是没有安装gcc-c++,最小安装的坑,但遇到了解决吧!

解决办法,到centos7的镜像文件中Packages文件夹中查找到下面19个rpm文件,复制到一个文件夹,然后拷贝到centos上,进入 gcc-c++执行安装命令  rpm -Uvh *.rpm --nodeps --force

 

安装gcc-c++完成后,继续之前操作,进入bulid目录,编译和安装 ,make && make install

完成!

 

 

 

 



posted @ 2021-08-02 14:27  飞奔的小猪猪  阅读(634)  评论(0编辑  收藏  举报