一、环境
[root@ecs-e8c4-0001 gcc]# cat /etc/kylin-release Kylin Linux Advanced Server release V10 (Tercel)
二、下载源码
wget /gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.gz//gcc ftp 地址:</gnu/gcc/>
三、下载依赖
[root@ecs-e8c4-0001 gcc]# tar zxf gcc-11.2.0.tar.gz[root@ecs-e8c4-0001 gcc]# cd gcc-11.2.0[root@ecs-e8c4-0001 gcc-11.2.0]# ./contrib/download_prerequisites -12-15 10:43:38 URL:</pub/gcc/infrastructure/gmp-6.1.0.tar.bz2> [2383840/2383840] -> "gmp-6.1.0.tar.bz2" [1]-12-15 10:43:40 URL:</pub/gcc/infrastructure/mpfr-3.1.6.tar.bz2> [1287202/1287202] -> "mpfr-3.1.6.tar.bz2" [1]-12-15 10:43:41 URL:</pub/gcc/infrastructure/mpc-1.0.3.tar.gz> [669925/669925] -> "mpc-1.0.3.tar.gz" [1]-12-15 10:44:49 URL:</pub/gcc/infrastructure/isl-0.18.tar.bz2> [1658291/1658291] -> "isl-0.18.tar.bz2" [1]gmp-6.1.0.tar.bz2: OKmpfr-3.1.6.tar.bz2: OKmpc-1.0.3.tar.gz: OKisl-0.18.tar.bz2: OKAll prerequisites downloaded successfully.[root@ecs-e8c4-0001 gcc]# yum install zlib* -y
注:
1、离线环境需要单独下载4个依赖包(gmp、mpfr、mpc、isl),解压后去掉目录版本号mv进gcc根目录下
2、zlib用iso里的即可
四、建立build目录,编译
[root@ecs-e8c4-0001 gcc-11.2.0]# mkdir gcc_build_11[root@ecs-e8c4-0001 gcc-11.2.0]# cd gcc_build_11/[root@ecs-e8c4-0001 gcc_build_11]# ../configure --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --enable-gnu-indirect-function --disable-multilib[root@ecs-e8c4-0001 gcc_build_11]# make -j(编译...注意内存)[root@ecs-e8c4-0001 gcc_build_11]# make install [root@ecs-e8c4-0001 gcc_build_11]# gcc --versiongcc (GCC) 11.2.0Copyright (C) Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.