1、基础环境
1.1、查看系统
uname -a
Linux kylin-02 4.19.90-89.11.v2401.ky10.x86_64 #1 SMP Tue May 7 18:33:01 CST 2024 x86_64 x86_64 x86_64 GNU/Linux
cat /etc/os-release
NAME=“Kylin Linux Advanced Server”
VERSION=“V10 (Halberd)”
ID=“kylin”
VERSION_ID=“V10”
PRETTY_NAME=“Kylin Linux Advanced Server V10 (Halberd)”
ANSI_COLOR=“0;31”
1.2、更新yum源
备份
cp /etc/yum.repos.d/kylin_x86_64.repo /etc/yum.repos.d/kylin_x86_64_bak.repo
更新yum源
###Kylin Linux Advanced Server 10 - os repo###
[ks10-adv-os]
name = Kylin Linux Advanced Server 10 - Os
baseurl = http://update.cs2c.com.cn:8080/NS/V10/V10SP3-2403/os/adv/lic/base/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 1
[ks10-adv-updates]
name = Kylin Linux Advanced Server 10 - Updates
baseurl = http://update.cs2c.com.cn:8080/NS/V10/V10SP3-2403/os/adv/lic/updates/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 1
[ks10-adv-addons]
name = Kylin Linux Advanced Server 10 - Addons
baseurl = http://update.cs2c.com.cn:8080/NS/V10/V10SP3-2403/os/adv/lic/addons/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 0
更新源
yum update -y
2、安装GCC
2.1、下载gcc
wget https://ftp.gnu.org/gnu/gcc/gcc-11.5.0/
2.2、解压gcc
tar -zvxf gcc-11.5.0.tar.gz -C /usr/local/
2.3、下载gcc依赖
./contrib/download_prerequisites
[root@kylin-01 gcc-11.5.0]# ./contrib/download_prerequisites
2025-04-09 23:35:35 URL:http://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2 [2383840/2383840] -> “gmp-6.1.0.tar.bz2” [1]
2025-04-09 23:37:55 URL:http://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.6.tar.bz2 [1287202/1287202] -> “mpfr-3.1.6.tar.bz2” [1]
2025-04-09 23:38:34 URL:http://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz [669925/669925] -> “mpc-1.0.3.tar.gz” [1]
2025-04-09 23:40:20 URL:http://gcc.gnu.org/pub/gcc/infrastructure/isl-0.18.tar.bz2 [1658291/1658291] -> “isl-0.18.tar.bz2” [1]
gmp-6.1.0.tar.bz2: OK
mpfr-3.1.6.tar.bz2: OK
mpc-1.0.3.tar.gz: OK
isl-0.18.tar.bz2: OK
All prerequisites downloaded successfully.
2.4、编译并安装gcc
不指定安装目录,编译器默认将可执行文件存放于/usr/local/bin目录,库文件存放于/usr/local/lib目录,头文件存放于/usr/local/include目录。
cd /usr/local/gcc-11.5.0
mkdir build && cd build
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
或
../configure --prefix=/usr/local/gcc -enable-checking=release -enable-languages=c,c++ -disable-multilib
# -j$(nproc) 并行数,改4、6、8,不然会很慢
make -j$(nproc) && make install
或
make -j4 && make install
2.5、备份gcc
原来的gcc命令位于目录/usr/bin/gcc等目录下面,为了不覆盖原来的命令。将原来的相关内容进行备份处理,执行如下命令:
mv /usr/bin/gcc /usr/bin/gcc730
mv /usr/bin/g++ /usr/bin/g++730
mv /usr/bin/c++ /usr/bin/c++730
mv /usr/bin/cc /usr/bin/cc730
mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak
2.6、创建gcc软链接
ln -s /usr/local/bin/gcc /usr/bin/gcc
ln -s /usr/local/bin/g++ /usr/bin/g++
ln -s /usr/local/bin/c++ /usr/bin/c++
ln -s /usr/local/bin/gcc /usr/bin/cc
ln -s /usr/local/lib64/libstdc++.so.6.0.29 /usr/lib64/libstdc++.so.6
2.7、查看版本
gcc -v