升级gcc

转载

  1. 输入 yum list | grep gcc 看是否有devtoolset-7-gcc、devtoolset-7-gcc-c++.x86_64 等依赖包可供选择。如果没有,进入步骤2,否则进入步骤3。
  2. 你可能需要更换镜像源或者将原来的yum卸载,更换为非centos自带的yum。我推荐用后者,因为若只更换镜像源,yum还是无法安装gcc、g++等工具,不方便。在这里,我推荐按照https://blog.csdn.net/jianm_liu/article/details/78316690 这篇博文的解决方案进行解决,非常靠谱。在按照该博主的博文进行操作的时候,可能会额外遇到几个问题,在这里记录备忘,感觉能碰到的问题我基本都碰到过了,大家操作时遇到问题看这里即可:
    问题一:rpm -ivh 其中的某一个包时,出现: file xxx from install of xxx conflicts with file from xxx这是因为原来系统上含有这个包,但是版本太低,需要先把原有的包删掉。 解决方法是使用rpm -qa | grep XXX 这个包,找到原来安装过的这个包的之前的版本,然后复制它的全名,使用rpm -e 来进行卸载。(旧的yum此时应该已经被你卸载了,所以就不能用yum remove了)然后再重新安装新的包即可。
    问题二:rpm -ivh 其中的某一个包时,出现:XXX包被XXX需要。解决方法是将包名复制到http://mirrors.163.com/centos/7/os/x86_64/Packages/ 网站上查找对应的包。下载下来,再用rpm安装即可。注意版本~
    问题三:rpm -ivh 其中的某一个包时,出现:rpm > 某个版本 被 XXX 包 需要。这是因为rpm版本过低。在这里,https://www.cnblogs.com/ontoweb-zp/p/9268008.html这篇博文写文很详细,按照这个操作升级rpm即可。其中注意rpm升级的命令是rpm -Uvh rpm-xx.xx.xx.el7.x86_64.rpm --nodeps (后面的–nodeps千万不要漏掉)
    注意一:注意版本号,下载的是哪个版本,就要换成自己的版本。
    注意二:注意架构,比如我的是X86,那么我就只能下载.x86_64后缀的rpm包。
    注意三:一定要确保每一个依赖库都装上。显示安装进度100%才是安装成功。
    注意四:rpm -ivh 可以同时安装两个包,在一个包被另一个需要的时候,这样更方便。
  3. 现在,我们安装scl工具。按顺序安装centos-release-scl-rh 、centos-release-scl 。一般情况下,yum install 这两个库就可以;若不行也不要怕,去https://centos.pkgs.org/网站,右上角的搜索框,搜索这两个库,然后选择x86的版本,点进去,找到binary的.rpm文件的url,复制,使用wget下载,然后使用rpm进行安装即可。一定要按先centos-release-scl-rh再centos-release-scl的顺序。安装好后,我们在命令行输入scl,可以看到输出:“Need at least 3 arguments.
    Run scl --help to get help.”说明scl被装好了。
  4. 再之后,输入yum search gcc或者yum list |grep gcc,可以看到许多yum支持安装的包。现在我们安装一个更高版本的devtoolset,也就是GCC version >5的包。大家可以看到有许多devtoolset-{x}-gcc.x86_64的包,这些包就是我们要选择安装的包,可以看到冒号后面有一个注释,我选择安装了devtoolset-7-gcc-c++.x86_64以及devtoolset-7-gcc.x86_64,他们是GCC version 7的工具包,推荐大家和我选择一样的。此时,使用yum install devtoolset-7-gcc.x86_64 && yum install devtoolset-7-gcc-c++.x86_64。两个包都安装完成后,在命令行输入: scl enable devtoolset-7 bash即可切换GCC至7.3.1版本。
  5. 测试:输入g++ --version,可以看见输出
mv /usr/bin/gcc /usr/bin/gcc-4.8.5

ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc

mv /usr/bin/g++ /usr/bin/g+±4.8.5

ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值