---
title: 安装GCC
description: "CentOS 7.6系统自带的GCC软件版本较低，需要升级GCC版本至5.3.0或者以上。openEuler 20.03操作系统自带的GCC版本为7.3.0，不需要升级GCC。如果需要在openEuler 22.03操作系统（操作系统自带的GCC版本为10.3.1）安装8.0.15版本，则需要安装GCC 7.3.0版本。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdbs/ecosystemEnable/Percona/kunpengpercona_02_0007.html
sourcePath: /source/zh/kunpengdbs/ecosystemEnable/Percona/kunpengpercona_02_0007.html
indexId: 98a2b561815ae10aba4560e83862e5bcf1be51c354c4fcd8b7d385612a26af9b73
---
# 安装GCC

CentOS 7.6系统自带的GCC软件版本较低，需要升级GCC版本至5.3.0或者以上。openEuler 20.03操作系统自带的GCC版本为7.3.0，不需要升级GCC。如果需要在openEuler 22.03操作系统（操作系统自带的GCC版本为10.3.1）安装8.0.15版本，则需要安装GCC 7.3.0版本。

CentOS 7.6下升级到GCC 7.3.0的操作步骤请参见CentOS 7.6下升级GCC，openEuler 22.03下安装GCC 7.3.0的操作步骤请参见openEuler 22.03下安装GCC 7.3.0。

#### CentOS 7.6下升级GCC

1. 下载GCC 7.3.0。

```
cd /home
wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz --no-check-certificate
```


2. 解压GCC源码包。
  1 tar -xvf gcc-7.3.0.tar.gz

3. 编译安装GCC。

  a. 进入GCC文件路径并配置GCC参数。
```
cd /home/gcc-7.3.0
./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-bootstrap
```


    - --prefix=PATH：指定GCC软件安装目录，默认路径“/usr”。
    - --mandir=PATH：指定GCC软件文档目录，默认路径“/usr/share/man”。
    - --infodir=PATH：指定GCC软件日志信息目录，默认路径“/usr/share/info”。
    - --enable-bootstrap：指定启用bootstrap方式安装。
如果配置报错提示“configure: error: no acceptable C compiler found in $PATH”，则执行以下命令。

```
yum -y reinstall gcc gcc-c++
```


  b. 编译GCC源码。
    1 make -j 96

    “-j 96”参数充分利用多核CPU优势，加快编译速度，参数“-j”后数字为CPU核数，可用cat /proc/cpuinfo | grep processor | wc -l进行查看，此数值应小于或等于CPU核数。

  c. 安装GCC。
    1 make -j 96 install

4. 查看GCC版本。
  1 gcc -v

  可以看到GCC的版本已经升级为7.3.0。


#### openEuler 22.03下安装GCC 7.3.0

1. 下载gmp源码包并解压。

```
mkdir /home/gcc-7.3.0 && cd /home/gcc-7.3.0
wget https://ftp.gnu.org/gnu/gmp/gmp-6.1.0.tar.bz2
tar -jxvf gmp-6.1.0.tar.bz2
```


2. 建立gmp编译目录，并进行编译安装。

```
cd gmp-6.1.0
mkdir build && cd build
../configure --prefix=/opt/tools/gcc/gmp-6.1.0
make
make install
```


  --prefix=/opt/tools/gcc/gmp-6.1.0用于指定gmp的安装目录，若当前没有该目录，执行如上命令后将自行创建。

3. 下载mpfr源码包并解压。

```
cd /home/gcc-7.3.0
wget https://ftp.gnu.org/gnu/mpfr/mpfr-3.1.4.tar.bz2
tar -jxvf mpfr-3.1.4.tar.bz2
```


4. 建立mpfr编译目录，并进行编译安装。

```
cd mpfr-3.1.4
mkdir build && cd build
../configure --prefix=/opt/tools/gcc/mpfr-3.1.4 --with-gmp=/opt/tools/gcc/gmp-6.1.0
make
make install
```


  --prefix=/opt/tools/gcc/mpfr-3.1.4用于指定mpfr的安装目录，若当前没有该目录，执行如上命令后将自行创建。

5. 下载mpc源码包并解压。

```
cd /home/gcc-7.3.0
wget https://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz
tar -zxvf mpc-1.0.3.tar.gz
```


6. 建立mpc编译目录，并进行编译安装。

```
cd mpc-1.0.3
mkdir build && cd build
../configure --prefix=/opt/tools/gcc/mpc-1.0.3 --with-gmp=/opt/tools/gcc/gmp-6.1.0 --with-mpfr=/opt/tools/gcc/mpfr-3.1.4
make
make install
```


  --prefix=/opt/tools/gcc/mpc-1.0.3用于指定mpc的安装目录，若当前没有该目录，执行如上命令后将自行创建。

7. 下载isl源码包并解压。

```
cd /home/gcc-7.3.0
wget https://gcc.gnu.org/pub/gcc/infrastructure/isl-0.16.1.tar.bz2
tar -jxvf isl-0.16.1.tar.bz2
```


8. 建立isl编译目录，并进行编译安装。

```
cd isl-0.16.1
mkdir build && cd build
../configure -prefix=/opt/tools/gcc/isl-0.16.1 -with-gmp-prefix=/opt/tools/gcc/gmp-6.1.0
make
make install
```


  -prefix=/opt/tools/gcc/isl-0.16.1用于指定isl的安装目录，若当前没有该目录，执行如上命令后将自行创建。

9. 设置环境变量。

```
export LD_LIBRARY_PATH=/opt/tools/gcc/gmp-6.1.0/lib:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH=/opt/tools/gcc/mpfr-3.1.4/lib:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH=/opt/tools/gcc/mpc-1.0.3/lib:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH=/opt/tools/gcc/isl-0.16.1/lib:${LD_LIBRARY_PATH}
```


10. 重新加载环境变量设置。

```
source /etc/profile
```


11. 下载GCC源码包并解压。

```
cd /home/gcc-7.3.0
wget https://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz
tar -xvzf gcc-7.3.0.tar.gz
```


12. 建立GCC编译目录，并进行编译安装。编译过程大概需要30分钟。

```
cd gcc-7.3.0
mkdir build && cd build
../configure --prefix=/opt/tools/gcc/gcc-7.3.0 --enable-threads=posix --disable-checking --enable-long-long --enable-languages=c,c++ --with-gmp=/opt/tools/gcc/gmp-6.1.0 --with-mpfr=/opt/tools/gcc/mpfr-3.1.4 --with-mpc=/opt/tools/gcc/mpc-1.0.3 --disable-multilib
make -j 96
make install
```


  --prefix=/opt/tools/gcc/gcc-7.3.0用于指定GCC的安装目录，若当前没有该目录，执行如上命令后将自行创建。 “-j 96”参数充分利用多核CPU优势，加快编译速度，参数“-j”后数字为CPU核数，可用cat /proc/cpuinfo | grep processor | wc -l进行查看，此数值应小于或等于CPU核数。

13. 确认GCC版本。

```
/opt/tools/gcc/gcc-7.3.0/bin/gcc --version
```
