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。
cd /home wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz --no-check-certificate
1
|
tar -xvf gcc-7.3.0.tar.gz |
1 2 |
cd /home/gcc-7.3.0 ./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-bootstrap |
如果配置报错提示“configure: error: no acceptable C compiler found in $PATH”,则执行以下命令。
yum -y reinstall gcc gcc-c++
1
|
make -j 96 |
“-j 96”参数充分利用多核CPU优势,加快编译速度,参数“-j”后数字为CPU核数,可用cat /proc/cpuinfo | grep processor | wc -l进行查看,此数值应小于或等于CPU核数。
1
|
make -j 96 install |
1
|
gcc -v
|
可以看到GCC的版本已经升级为7.3.0。
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
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的安装目录,若当前没有该目录,执行如上命令后将自行创建。
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
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的安装目录,若当前没有该目录,执行如上命令后将自行创建。
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
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的安装目录,若当前没有该目录,执行如上命令后将自行创建。
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
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
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
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
/opt/tools/gcc/gcc-7.3.0/bin/gcc --version