最近在安装GCC的时候遇到了报错:
然后我上网找了很久,首先参考了这篇文章Centos下gcc的安装、gcc的更新、gcc安装过程中报错:make[1]: *** [stage1-bubble] 错误 2_make[1]: *** [stage1-bubble] error 2-CSDN博客
但是我按照文章步骤手动编译完四个包之后还是报相同的错,后面我又搜了很久,综合下来我的理解是缺少了g++,然后g++又需要用yum命令去下载和更新,但是好像看到一篇文章说现在CentOS7不再维护更新yum了(好像,我也不清楚)。所以在使用yum命令的时候又会报错如下:
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误"
One of the configured repositories failed (未知),
and yum doesn't have enough cached data to continue. At this point the only
safe thing yum can do is fail. There are a few ways to work "fix" this:
1. Contact the upstream for the repository and get them to fix the problem.
2. Reconfigure the baseurl/etc. for the repository, to point to a working
upstream. This is most often useful if you are using a newer
distribution release than is supported by the repository (and the
packages for the previous distribution release still work).
3. Run the command with the repository temporarily disabled
yum --disablerepo=<repoid> ...
4. Disable the repository permanently, so yum won't use it by default. Yum
will then just ignore the repository until you permanently enable it
again or use --enablerepo for temporary usage:
yum-config-manager --disable <repoid>
or
subscription-manager repos --disable=<repoid>
5. Configure the failing repository to be skipped, if it is unavailable.
Note that yum will try to contact the repo. when it runs most commands,
so will have to try and fail each time (and thus. yum will be be much
slower). If it is a very temporary problem though, this is often a nice
compromise:
yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true
Cannot find a valid baseurl for repo: base/x86_64
所以我的解决步骤是首先修复yum,再用yum下载和更新g++。
下载源文件之后替换原来的文件,然后
yum clean all
yum makecache
yum update
这就修复好yum了,然后再来下载g++
su -
输入密码进入root
yum install gcc-c++
查看版本验证是否安装成功
g++ --version
yum和g++弄好之后,使用make distclean或者make clean清除之前报错的构建,然后现在你再进行GCC的安装就不会报错啦