1.下载源码包
bash
wget http://ftp.gnu.org/gnu/gcc/gcc-6.1.0/gcc-6.1.0.tar.gz
tar -zxvf gcc-6.1.0.tar.gz
cd gcc-6.1.0
2.打开 download_prerequisites 脚本
bash
vim contrib/download_prerequisites
可以看到该文件就是执行一些下载指令,需要下载几个包,按照包名和版本号进行下载,虚拟机中直接执行这个脚本,下载很慢,所以手动下载,操作如下 :
bash
# wget https://gcc.gnu.org/pub/gcc/infrastructure/isl-0.15.tar.bz2
# wget http://ftp.gnu.org/gnu/mpfr/mpfr-2.4.2.tar.bz2
# wget http://ftp.gnu.org/gnu/gmp/gmp-4.3.2.tar.bz2
# wget http://pkgs.fedoraproject.org/repo/pkgs/libmpc/mpc-0.8.1.tar.gz/5b34aa804d514cc295414a963aedb6bf/mpc-0.8.1.tar.gz
将download_prerequisites 脚本中下载的行注释
3.开始安装
执行 修改后的 download_prerequisites 脚本 , 并生成Makefile文件
bash
./contrib/download_prerequisites
./configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
4.编译并安装
bash
make -j4 && make install
5.更新动态库链接
找到新的动态库
bash
find / -name "libstdc++.so*"
cd /usr/lib64
# 下面命令中,较长的路径是解压出来源码包的目录下的链接文件,将该文件复制到 /usr/lib64
cp /usr/local/lib64/libstdc++.so.6.0.22 /usr/lib64/
# 指向新的链接
ln -sf libstdc++.so.6.0.22 libstdc++.so.6