首页 > 系统相关 >centos7系统 通过编译安装gcc7.5.0

centos7系统 通过编译安装gcc7.5.0

时间:2024-08-06 15:09:11浏览次数:12  
标签:scl gcc gcc7.5 tar -- centos7 编译 7.5 download

背景:

  现有的centos7 gcc的最高版本为4.8.5 项目需要升级到7.1.0以上 正常方式可以通过以下命令即可完成升级:

$ sudo yum install centos-release-scl
$ sudo yum install devtoolset-7-gcc*
$ scl enable devtoolset-7 bash

  注意:第三条指令scl enable devtoolset-7只是在当前会话中升级了gcc,如果想每次登录gcc自动升级,可以把scl enable devtoolset-7放在 ~/.bash_profile 文件中。

  但是最近centos官方镜像不能正常访问了,而阿里云等国内的yum云似乎也没有最新的gcc版本的镜像,于是需要手动编译的方式来安装gcc 以下以7.5.0版本为例,需要更高版本的话方法是一样的。

=============================================分割线, 下边是正式的步骤===========================================================

在这个地址下载安装包 https://ftp.gnu.org/gnu/gcc/gcc-7.5.0/gcc-7.5.0.tar.gz

上传到服务器 /usr/local目录下

执行命令解压

$ tar -zxvf ./gcc-7.5.0.tar.gz
$ cd gcc-7.5.0

 

正常步骤是执行 ./contrib/download_prerequisites 来下载依赖 但是因为网络问题不能直接下载 所以需要手动去网站下载好上传到服务器 地址为:

https://gcc.gnu.org/pub/gcc/infrastructure/

执行命令 vim ./contrib/download_prerequisites

打开 ./contrib/download_prerequisites 可以看到到依赖的具体版本 共四个文件分别是

gmp='gmp-6.1.0.tar.bz2'
mpfr='mpfr-3.1.4.tar.bz2'
mpc='mpc-1.0.3.tar.gz'
isl='isl-0.16.1.tar.bz2'

下载好后导入到 /usr/local/gcc-7.5.0目录下

安装 lbzip2(解压工具)

$ yum install -y lbzip2

执行命令

$  ./contrib/download_prerequisites

配置和编译

$ mkdir build
​
$ cd build
​
$ ../configure --prefix=/usr/local/gcc-7.5.0 --enable-languages=c,c++ --disable-multilib
​
$ make -j$(nproc)
$ sudo make install
​

 

更新 PATH

$ export PATH=/usr/local/gcc-7.5.0/bin:$PATH

 

将上述 export PATH 命令添加到你的 ~/.bashrc~/.bash_profile 文件中以使其永久生效。

通过以下命令检查安装的 GCC 版本:

$ gcc --version

 

标签:scl,gcc,gcc7.5,tar,--,centos7,编译,7.5,download
From: https://www.cnblogs.com/seizedays/p/18345145

相关文章

  • 【ceph】手动编译14.2.22 ceph版本---超详细版本,生产可用
      本站以分享各种运维经验和运维所需要的技能为主《python零基础入门》:python零基础入门学习《python运维脚本》: python运维脚本实践《shell》:shell学习《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战《k8》暂未更新《docker学习》暂未更新《ceph学......
  • 使用git-bash 进入MINGW64使用mingw32-make编译提示目录前面有个“/cygdrive/d”如何
    问题出现的根本原因使用绝对路径时,exportBUILD_ROOT='D:/XX/XX'注意不能使用单引号直接地址exportBUILD_ROOT=D:/XX/XX 刚刚接触Cygwin,头一个问题就是:Cygwin如何访问Windows的各个磁盘目录,以及在Windows平台下如何访问Cygwin中的目录。执行mount命令后......
  • 安卓编译器gradle安装和idea配置gradle
    参考:gradle安装:https://www.cnblogs.com/darcy-hui/p/12206852.htmlgradleuserhome说明:https://blog.csdn.net/LG_15011399296/article/details/134333647gradle下载地址:https://gradle.org/releases/gradle阿里下载地址:https://mirrors.aliyun.com/gradle/gradle1.下载zip包,解......
  • 无法写入使用 pygbag 编译的 python/pygame 程序中的文本文件
    我有一个python/pygame程序,它从与该程序位于同一目录中的测试文件中读取数据。在程序结束时,应该将文本写回测试文件。这在Python环境中运行程序时有效,但在使用Pygbag编译并在浏览器中运行时无效。程序(称为main,py)是:importasyncioimportosimportpygamepyg......
  • C语言编译和链接
    前言我们已经写了这么多的代码,那我们是不是应该了解一下代码是运行的呢?1.翻译环境和运行环境翻译环境将源代码转换为二进制指令。运行环境用于执行实际代码2.翻译环境翻译环境主要由编译和链接两个大过程组成,而编译又可以分解成:预处理/预编译,编译,汇编三个过程。2.1......
  • FinalShell远程连接centos7
    一.引言我们在VMware中安装好centos7版本的Linux后,经常需要在虚拟机和真实机之间来回切换,特别是要上传文件到centos7中的时候,很不方便。因此我们可以通过FinalShell软件来远程连接到centos7,FinalShell支持多标签页功能,用户可以同时打开多个连接,并在不同的标签页中切换,提高了工......
  • emsdk安装和编译2个C++基础示例
    参考地址:Downloadandinstall—Emscripten3.1.65-git(dev)documentation 环境:ubuntu24.04LTSgcc(Ubuntu13.2.0-23ubuntu4)13.2.0g++(Ubuntu13.2.0-23ubuntu4)13.2.0cmakeversion3.28.3 Firstcheckthe Platform-specificnotes belowandinstallan......
  • Centos7 安装 Imc
    centos7安装imc注意:安装的时候必须选择图形化安装。即安装系统的时候,“软件选择”那块选择“带GUI的服务器”。关闭selinux和防火墙systemctlstopfirewalldsystemctldisablefirewalldsetenforce0sed-i"s/^SELINUX=enforcing/SELINUX=disabled/g"/etc/sysco......
  • Java编译和运行的命令
    在Java中,编译和运行Java程序主要使用两个命令:javac和java。这两个命令是JDK(JavaDevelopmentKit)的一部分,分别用于编译Java源代码(.java文件)和运行编译后的Java字节码(.class文件)。编译Java程序编译Java程序时,你使用javac命令。这个命令会读取你的Java源代码文件(.java文件),并编译......
  • FLAC库的编译及应用
    简介FLAC是一种针对声音文件的无损压缩算法。压缩比略低于AAC,但是压缩和解压的速度很理想。使用FLAC压缩的无损音乐,体积将比没有经过压缩的无损音乐小很多(取决于音乐的平均音量。通常体积能减少到原文件的50%左右)。相比较MP3有损压缩格式而言,FLAC能保留100%的音质。对......