1、CMake下载
https://cmake.org/download/
2、GCC安装包下载
https://www.gnu.org/prep/ftp.html
3、依赖包下载
https://gcc.gnu.org/pub/gcc/infrastructure/
4、安装包
cmake-3.20.5.tar.gz
gmp-6.1.0.tar.bz2
mpfr-3.1.4.tar.bz2
mpc-1.0.3.tar.gz
isl-0.18.tar.bz2
gcc-11.1.0.tar.gz
5、安装依赖包
# 编译
yum install gcc -y
yum install gcc-c++ -y
yum install make
# 依赖
yum install boost -y
yum install openssl -y
yum install openssl-libs -y
yum install openssl-devel -y
yum install m4 -y
yum install texinfo -y
yum install file -y
yum install bzip2 -y
# 常用工具
yum install vim -y
yum install zip -y
yum install unzip -y
yum install tree -y
yum install dos2unix -y
yum install man -y
6、编译安装cmake
tar xvf cmake-3.20.5.tar.gz
cd cmake-3.20.5
./boostrap
gmake
gmake install
cmake --version
7、编译安装gmp-6.1.0.tar.bz2
tar xvf gmp-6.1.0.tar.bz2
cd gmp-6.1.0
./configure -prefix=/usr/local/gmp-6.1.0
make
make install
ll /usr/local/gmp-6.1.0
8、编译安装mpfr-3.1.4.tar.bz2
tar xvf mpfr-3.1.4.tar.bz2
cd mpfr-3.1.4
./configure -prefix=/usr/local/mpfr-3.1.4 --with-gmp=/usr/local/gmp-6.1.0
make
make install
ll /usr/local/mpfr-3.1.4
9、编译安装mpc-1.0.3.tar.gz
tar xvf mpc-1.0.3.tar.gz
cd mpc-1.0.3
./configure -prefix=/usr/local/mpc-1.0.3 --with-gmp=/usr/local/gmp-6.1.0 --with-mpfr=/usr/local/mpfr-3.1.4
make
make install
ll /usr/local/mpc-1.0.3
10、编译安装isl-0.18.tar.bz2
tar xvf isl-0.18.tar.bz2
cd isl-0.18
./configure -prefix=/usr/local/isl-0.18 --with-gmp-prefix=/usr/local/gmp-6.1.0
make
make install
ll /usr/local/isl-0.18
11、编译安装gcc-11.1.0.tar.gz
tar xvf gcc-11.1.0.tar.gz
cd gcc-11.1.0
./configure -prefix=/usr/local/gcc-11.1.0 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-6.1.0 --with-mpfr=/usr/local/mpfr-3.1.4 --with-mpc=/usr/local/mpc-1.0.3
make -j4
make install
ll /usr/local/gcc-11.1.0
12、备份旧版gcc
cd /bin
mv gcc gcc485
mv g++ g++485
mv c++ c++485
13、建立新版本软连接
cd /bin
ln -s /usr/local/gcc-11.1.0/bin/gcc gcc
ln -s /usr/local/gcc-11.1.0/bin/g++ g++
ln -s /usr/local/gcc-11.1.0/bin/c++ c++
14、更新libstdc
cd /lib64
# 方法一
mv libstdc++.so.6 libstdc++.so.6.back
ln -s /usr/local/gcc-11.1.0/lib64/libstdc++.so.6.0.29 libstdc++.so.6
# 方法二
ln -snf /usr/local/gcc-11.1.0/lib64/libstdc++.so.6.0.29 libstdc++.so.6
15、修改环境变量
echo export LD_LIBRARY_PATH=/usr/local/gcc-11.1.0/lib:/usr/local/gcc-11.1.0/lib64:$LD_LIBRARY_PATH >> /etc/profile
source /etc/profile
16、测试
gcc -v