• HOME
  • CATEGORY
  • ABOUT ME
All Articles

  • HOME
  • CATEGORY
  • ABOUT ME

Linux-Update-GCC9.3.0

2020-07-18

CentOS 7 下安装 gcc 9.3.0

本文主要介绍怎么在 CentOS 7 环境下安装 GCC 9.3.0,适用于部分源码包需要高版本的gcc进行编译的场景,需要准备的环境有:

CentOS 7
gcc-9.3.0.tar.gz

一、前期环境准备

安装gcc

使用下面命令安装gcc、gcc-c++,若已安装则忽略此步骤

yum install -y gcc gcc-c++

安装bzip2

使用以下命令安装bzip2,主要用于之后自动解压安装GCC依赖,若已安装则忽略此步骤

yum install -y bzip2

下载gcc-9.3.0.tar.gz
可以访问以下两个网站下载gcc源码包
https://gcc.gnu.org/pub/gcc/infrastructure/
http://mirror.hust.edu.cn/gnu/gcc/

方法一:有网络的环境下

解压gcc-9.3.0.tar.gz

将gcc-9.3.0.tar.gz放置于/home/目录下
进入/home/目录,使用以下命令解压

tar -xzvf gcc-9.3.0.tar.gz

得到gcc-9.3.0目录

安装gcc-9.3.0

进入/home/gcc-9.3.0/目录下,执行以下命令下载安装依赖

./contrib/download_prerequisites

若此处下载遇到问题,可编辑download_prerequisites文件,将ftp://gcc.gnu.org/pub/gcc/infrastructure/替换为http://gcc.gnu.org/pub/gcc/infrastructure/

进入/home/目录下,使用以下命令新建构建文件夹

mkdir gcc-build-9.3.0

进入/usr/lib/gcc/x86_64-redhat-linux/目录下,使用以下命令新建安装文件夹

mkdir 9.3.0

进入/home/gcc-build-9.3.0/目录下,使用以下命令建立编译后的文件存放目录以及配置编译语言等

../gcc-9.3.0/configure --prefix=/usr/lib/gcc/x86_64-redhat-linux/9.3.0/ --enable-checking=release --enable-languages=c,c++ --disable-multilib

使用以下命令执行安装,编译过程耗时较长,需要耐心等待,电脑不好的话,可能需要两小时

make && make install

查看gcc版本
使用以下命令查看gcc版本

gcc --version

方法二:无网络的环境下

如果网络原因编译失败,那么手动进行环境编译,需要下载这几个包

1.gmp http://ftp.gnu.org/gnu/gmp/
2.mpfr http://ftp.gnu.org/gnu/mpfr/
3.mpc http://ftp.gnu.org/gnu/mpc/

下载的各个版本为:

gmp-6.2.0.tar.xz
mpfr-4.1.0.tar.gz
mpc-1.1.0.tar.gz

gmp6.2.0编译安装

tar -xvzf gmp-6.2.0.tar.xz
mv gmp-6.2.0 gmp
cd gmp
mkdir temp
cd temp
../configure --prefix=/usr/local/gmp-6.2.0
make -j4
make install

mpfr4.1.0编译安装

tar -xvzf mpfr-4.1.0.tar.gz
mv mpfr-4.1.0 mpfr
cd mpfr
mkdir temp
cd temp
../configure --prefix=/usr/local/mpfr-4.1.0 --with-gmp=/usr/local/gmp-6.2.0
make -j4
make install

mpc1.10编译安装

tar -xvzf mpc-1.1.0.tar.gz
mv mpc-1.1.0 mpc
cd mpc
mkdir temp
cd temp/
../configure --prefix=/usr/local/mpc-1.1.0 --with-gmp=/usr/local/gmp-6.2.0 --with-mpfr=/usr/local/mpfr-4.1.0
make -j4
make install

更新系统环境变量

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-1.1.0/lib:/usr/local/gmp-6.2.0/lib:/usr/local/mpfr-4.1.0/lib

gcc9.3.0编译安装,gcc编译时间非常的长

tar -jxvf gcc-9.3.0.tar.bz2
mv gcc-9.3.0 gcc
cd gcc
mkdir temp
cd temp
../configure  --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-6.2.0 --with-mpfr=/usr/local/mpfr-4.1.0 --with-mpc=/usr/local/mpc-1.1.0 

make -j4
make install

安装之后执行 gcc -v 查看版本,若发现版本不正确请重启后再次查看

赏

谢谢你请我吃糖果

支付宝
微信
  • GCC
  • Linux

扫一扫,分享到微信

微信分享二维码
SQL-Interview-Questions1
Mysql-XtraBackup
© 2025 Sevattal
这里只是一个微不足道的计算机从业者
  • All Articles

tag:

  • Ansible
  • JMeter
  • CRM
  • Mail
  • Conda
  • Corosync-Pacemaker-CRM
  • DM Database
  • Scrapy
  • Cloud
  • ASM
  • Mysql
  • Linux
  • Elasticsearch
  • FFmpeg
  • Hexo
  • RabbitMQ
  • SpringBoot
  • Spring
  • Maven
  • Kubernetes
  • Lightroom
  • Crontab
  • DRBD
  • LVM
  • Nginx
  • NTP
  • OpenSSH
  • SSH
  • NetworkCard
  • Supervisor
  • Swap
  • TinyProxy
  • GCC
  • VNC
  • Oracle
  • MongDB
  • MinIO
  • Mysql-Lock
  • Restore
  • MysqlDump
  • Procedure
  • HTML
  • XtraBackup
  • Nacos
  • Neo4j
  • Netty
  • NAT
  • Route
  • ACL
  • EIGRP
  • Cisco
  • OSPF
  • HUAWEI
  • Switch
  • STP
  • VLAN
  • VTP
  • Nmap
  • OpenFeign
  • Sentinel
  • Backup
  • EXP
  • RMAN
  • DG
  • FlashBack
  • Job
  • Oracle-Inspection
  • Oracle-Name
  • Oracle RAC
  • RAC
  • Trigger
  • Postgres
  • Postgres-Copy
  • Flask-SQLalchemy
  • PGPool-II
  • Postgres+PGPool-II
  • Rancher
  • Redis
  • Redis-Copy
  • Redis-Cluster
  • Redis-Memory
  • Redis-RDB
  • Redis-AOF
  • Redis-Sentinel
  • Interview
  • SNMP
  • Spring Security
  • Bus
  • Config
  • Consul
  • GateWay
  • Eureka
  • Sleuth
  • Stream
  • Zookeeper
  • Tomcat
  • VMware
  • ShareDisk
  • Video-Clip
  • Hystrix
  • Ribbon
  • Regedit
  • USB
  • Yaml
  • Zabbix

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: false
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true