安装依赖
镜像http://mirror.hust.edu.cn
安装gmp
wegt http://mirror.hust.edu.cn/gnu/gmp/gmp-5.0.0.tar.gz
tar -zxvf gmp-5.0.0.tar.gz
cd gmp-5.0.0
./configure -prefix=/usr/local/gmp-5.0.0
make -j4 && make install
安装mpfr
wget http://mirror.hust.edu.cn/gnu/mpfr/mpfr-4.1.0.tar.gz
tar -zxvf mpfr-4.1.0.tar.gz
cd mpfr-4.1.0
./configure --prefix=/usr/local/mpfr-4.1.0 --with-gmp=/usr/local/gmp-5.0.0
make -j4 && make install
# 把mpfr lib 加入 ld.so.conf 不然gcc 编译报错
echo /usr/local/mpfr-4.1.0/lib >> /etc/ld.so.conf
ldconfig
安装mpc
wget http://mirror.hust.edu.cn/gnu/mpc/mpc-1.2.1.tar.gz
tar -zxvf mpc-1.2.1.tar.gz
cd mpc-1.2.1
./configure --prefix=/usr/local/mpc-1.2.1 --with-gmp=/usr/local/gmp-5.0.0 --with-mpfr=/usr/local/mpfr-4.1.0
make -j4 && make install
# 创建软链接
ln -s /usr/local/mpc-1.2.1/lib/libmpc.so.3.2.1 /lib64/libmpc.so.3
ln -s /usr/local/mpc-1.2.1/lib/libmpc.so.3.2.1 /lib/libmpc.so.3
ln -s /usr/local/mpc-1.2.1/lib/libmpc.so.3.2.1 /usr/lib64/libmpc.so.3
ln -s /usr/local/mpc-1.2.1/lib/libmpc.so.3.2.1 /usr/lib/libmpc.so.3
ln -s /usr/local/mpc-1.2.1/lib/libmpc.so.3.2.1 /usr/local/lib64/libmpc.so.3
ln -s /usr/local/mpc-1.2.1/lib/libmpc.so.3.2.1 /usr/local/lib/libmpc.so.3
配置环境变量
MPC_HOME=/usr/local/mpc-1.2.1
GMP_HOME=/usr/local/gmp-5.0.0
MPFR_HOME=/usr/local/mpfr-4.1.0
LD_LIBRARY_PATH=$MPC_LIB_HOME/lib:$GMP_HOME/lib:$MPFR_HOME/lib:$LD_LIBRARY_PATH
export MPC_LIB_HOME GMP_HOME MPFR_HOME LD_LIBRARY_PATH
# 重新刷新文件
source /etc/profile
安装GCC
编译gcc
wget http://mirror.hust.edu.cn/gnu/gcc/gcc-5.3.0/gcc-5.3.0.tar.gz
tar -zxvf gcc-5.3.0.tar.gz
cd gcc-5.3.0
./configure --prefix=/usr/local/gcc-5.3.0 -enable-threads=posix -disable-checking -disable-multilib -enable-languages=c,c++ --with-gmp=/usr/local/gmp-5.0.0/ --with-mpfr=/usr/local/mpfr-4.1.0/ --with-mpc=/usr/local/mpc-1.2.1/ -with-tune=generic --with-arch_32=x86-64
make -j4 && make install
备份gcc相关的执行文件
mv /usr/bin/gcc /usr/bin/gcc.old
mv /usr/bin/g++ /usr/bin/g++.old
mv /usr/bin/c++ /usr/bin/c++.old
mv /usr/bin/cpp /usr/bin/cpp.old
mv /usr/bin/gcov /usr/bin/gcov.old
创建配置文件
# 创建gcc执行的软链接
ln -sf /usr/local/gcc-9.2.0/bin/* /usr/bin/
# 配置ld.so.conf文件
echo /usr/local/gcc-5.3.0/lib64 >> /etc/ld.so.conf
ldconfig
# 复制libstdc++.so.6.0.21文件到/lib64/目录
cp /usr/local/gcc-5.3.0/lib64/libstdc++.so.6.0.21 /lib64/
# 创建软链 libstdc++.so.6
cd /lib64
ln -sf libstdc++.so.6.0.21 libstdc++.so.6