安装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
- 下载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
- 解压GCC源码包。
1
tar -xvf gcc-7.3.0.tar.gz
- 编译安装GCC。
- 进入GCC文件路径并配置GCC参数。
1 2
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++
- 编译GCC源码。
1
make -j 96
“-j 96”参数充分利用多核CPU优势,加快编译速度,参数“-j”后数字为CPU核数,可用cat /proc/cpuinfo | grep processor | wc -l进行查看,此数值应小于或等于CPU核数。
- 安装GCC。
1
make -j 96 install
- 进入GCC文件路径并配置GCC参数。
- 查看GCC版本。
1
gcc -v
可以看到GCC的版本已经升级为7.3.0。
openEuler 22.03下安装GCC 7.3.0
- 下载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
- 建立gmp编译目录,并进行编译安装。
cd gmp-6.1.0 mkdir build && cd build ../configure --prefix=/opt/tools/gcc/gmp-6.1.0 make make install
--prefix=/opt/ltools/gcc/gmp-6.1.0用于指定gmp的安装目录,若当前没有该目录,执行如上命令后将自行创建。
- 下载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
- 建立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的安装目录,若当前没有该目录,执行如上命令后将自行创建。
- 下载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
- 建立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的安装目录,若当前没有该目录,执行如上命令后将自行创建。
- 下载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
- 建立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的安装目录,若当前没有该目录,执行如上命令后将自行创建。
- 设置环境变量。
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}
- 重新加载环境变量设置。
source /etc/profile
- 下载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
- 建立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核数。
- 确认GCC版本。
/opt/tools/gcc/gcc-7.3.0/bin/gcc --version