linux下安装/升级GCC到较高版本

这篇具有很好参考价值的文章主要介绍了linux下安装/升级GCC到较高版本。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文章标签linuxGCC文章分类Linux系统/运维阅读数716

   linux下手动安装/升级GCC到较高版本    

一、环境

VMWare+Centos7

二、写在前面的话

安装GCC最简单的方式当然是【yum -y install gcc】
但是我的机器上安装下来后,其版本是4.8.5,感觉有点低,所以想升级一下(7.2.0, 8.2.0之类的版本)。
于是需要手动安装。

三、吃过的坑

1. 本地没有GCC导致编译不通过

原因分析:

安装高版本GCC时,需要依赖其它GCC,所以需要保证有一个较低版本的GCC

解决方法:
这个最简单的当然就是通过上面的【yum -y install gcc】进行安装
g++也一起安装了吧,命令【yum -y install gcc-c++
安装后可以【gcc -v】、【g++ -v】进行测试,能打出正常版本表示成功

2. 上一步中偷懒,没有安装g++ 会有如下报错:

checking how to run the C++ preprocessor... /lib/cpp
configure: error: in `/usr/cyh/gcc-8.2.0/host-x86_64-pc-linux-gnu/gcc':
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details.
make[2]: *** [configure-stage1-gcc] 错误 1
make[2]: 离开目录“/usr/cyh/gcc-8.2.0”
make[1]: *** [stage1-bubble] 错误 2
make[1]: 离开目录“/usr/cyh/gcc-8.2.0”
make: *** [all] 错误 2

通过【fails sanity check】进行搜索了一上,其实就是没有安装C++编译器
也就是上面的g++也要一起安装一下,不然一直报这个错


3. 直接在新下载的GCC源码路径中编译

原因分析:

GCC的源码目录和安装目录,不要在同一个路径树中
正例:

源码目录=/home/cyh/study/, 安装目录=/usr/local/
官方文档:https://gcc.gnu.org/install/configure.html
原文是【First, we highly recommend that GCC be built into a separate directory from the sources which does not reside within the source tree.】

四、正式开始安装

1、下载GCC

方式有很多,可以通过网页下载再上传到VM、可以直接wget等等
假设我下载到 /home/cyh/study 目录,分别执行了以下命令:
cd /home/cyh/study
wget http://ftp.gnu.org/gnu/gcc/gcc-7.2.0/gcc-7.2.0.tar.gz
tar -zxvf gcc-7.2.0.tar.gz
cd gcc-7.2.0

2、配置(不推荐)

此时可以执行【./configure --prefix=/user/local/】,但是会报错,如下:
【configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+.】
表示需要这些依赖包,所以继续下载
GCC 源码里自带脚本可以轻松下载依赖包,执行【./contrib/download_prerequisites】
如果自动安装成功,会有如下输出:

【All prerequisites downloaded successfully.】
依赖下载完成后,再执行【./configure --prefix=/user/local/】
如果有【configure: error: I suspect your system does not have 32-bit development libraries (libc and headers). If you have them, rerun configure with --enable-multilib. If you do not have them, and want to build a 64-bit-only compiler, rerun configure with --disable-multilib.】这样的报错,则要在上面的命令中加入【--disable-multilib】参数,所以命令变为下面这样【./configure --prefix=/user/local/ --disable-multilib】

3、配置(推荐)

既然已经知道了GCC安装时有依赖,那就直接先搞定依赖再来配置
所以先执行【./contrib/download_prerequisites】
如果一切顺利,再执行【./configure --prefix=/user/local/ --disable-multilib】即可

4、make -j4

直接执行 make 命令(我机器上执行了3小时,OMG)

5、make install

直接执行 make install 命令文章来源地址https://www.toymoban.com/news/detail-417955.html

到了这里,关于linux下安装/升级GCC到较高版本的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux 3.10 GCC版本太低升级到5.2.0

    某次升级内核,执行make menuconfig报当前版本太低,现场版本为4.8.5,需要升级到5.1.0版本以上,查看官网后,决定升级到5.20版本。注:GCC依赖于gmp 4.2+, mpfr 2.4+和mpc 0.8+,报错如下: 官方说明:https://gcc.gnu.org/install/index.html;https://gcc.gnu.org/;https://ftp.gnu.org/gnu/gcc/gcc-5.2.0/

    2024年02月14日
    浏览(38)
  • linux离线手动安装升级gcc

    GCC可以用来编译C/C++、FORTRAN、JAVA、OBJC、ADA等语言 的程序,可根据需要选择安装支持的语言。 查看当前gcc版本: gcc-7.2.0版本:https://ftp.gnu.org/gnu/gcc/ 下载依赖,共依赖四个工具gmp、isl、mpc、mpfr gmp-6.1.0版本:https://ftp.gnu.org/gnu/gmp/gmp-6.1.0.tar.bz2 isl-0.16版本: http://www.mirrorservice.

    2024年02月07日
    浏览(38)
  • yum升级gcc版本

    1、安装centos-release-scl 2、安装devtoolset 3、激活 4、添加到环境变量 5、查看当前gcc版本 对于一些老代码使用gcc 10可能报许多编译问题,也可以考虑安装低一些的gcc(9或者8的版本),目前支持下面这些版本的yum安装: 执行完第三步操作后可能会出现cd、ls、vi等常用命令失效的

    2024年02月02日
    浏览(35)
  • Centos升级gcc版本

    步骤1:查看当前服务器gcc版本 gcc –version 步骤2:查看当前gcc安装目录 find / -name gcc cd /usr/bin ll gcc* 因为gcc,g++,c++都是配套的,查找出 g++和c++的原版本位置 步骤3:安装下载依赖包 yum install glibc-headers gcc-c++  gcc gmp  gmp-devel  mpfr  mpfr-devel  libmpc  libmpc-devel yum install libffi-dev

    2024年01月23日
    浏览(41)
  • GCC/G++升级高版本

    当我们在引用一些外部库的时候需要高版本的编译器,所以需要升级我们的gcc/g++ g++ -v 查看当前版本,CenTOS-7默认4.8.5版本。 依次执行以下命令: sudo yum install centos-release-scl-rh centos-release-scl sudo yum install devtoolset-7-gcc devtoolset-7-gcc-c++ echo “source /opt/rh/devtoolset-7/enable” ~/.bashrc

    2024年02月13日
    浏览(35)
  • CentOS 7升级gcc版本

    Centos 7默认gcc版本为4.8,有时需要更高版本的,这里以升级至9.3.1版本为例,分别执行下面三条命令即可,无需手动下载源码编译 1、安装 centos -release-scl 列出一下GCC版本 2、安装devtoolset,注意,如果想安装8. 版本的,就改成devtoolset-8-gcc ,以此类推 3、激活对应的devtoolset,所

    2023年04月20日
    浏览(36)
  • centos7 升级 gcc 版本

    GNU Mirror List 查看动态库版本 查找gcc生成的最新动态库 查看libstdc++.so 进入libstdc++.so配置目录 CentOS 7官方源的gcc最新版本是4.8.5,发布于2015年,年代久远且不支持c++14。要编译c++14及以上项目,必须要升级现有版本或者安装高版本的gcc。红帽其实已经编译好了高版本的gcc,但未

    2023年04月26日
    浏览(50)
  • CentOS 7(2009) 升级 GCC 版本

       CentOS 7 默认安装的 gcc 版本为 4.8 ,但是很多时候都会需要用到更高版本的 gcc 来编译源码,那么本文将会介绍如何在线升级 CentOS 的 gcc 版本。 (1). 安装 centos-release-scl ; (2). 安装 devtoolset ; [注]:笔者这里安装的是 gcc 7.x 版本的,若想安装其它版本,则修改对应的大版本

    2024年02月03日
    浏览(43)
  • CentOS 7升级gcc/G++版本

            Centos 7默认gcc版本为4.8,有时需要更高版本,只需要执行几条命令,无需下载源码编译编译。 安装centos-release-scl 安装devtoolset 注意,如果想安装7.*版本的,就改成devtoolset-7-gcc*,以此类推 激活对应的devtoolset 查看gcc版本 这条激活命令只对本次会话有效,重启会话后还

    2024年02月06日
    浏览(40)
  • ubuntu下gcc/g++版本升级到指定版本(g++9.4为例)

    Ubuntu自带g++/gcc版本不符合需求时需要升级g++/gcc版本。 以下以gcc/g++ 9为例: 输入命令行: 执行完毕后再输入: 接着进入/usr/bin目录下删除旧版本gcc/g++文件: 最后再将gcc/g++和新安装的gcc-9/g+±9关联起来: 此时查看gcc版本: 即可看到此时gcc版本已为新安装的9.4。

    2024年02月15日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包