升级GCC
先把gcc升级到当前yum源中的最新版本
yum update -y gcc*
yum install -y glibc-headers
yum install -y gcc-c++ libstdc++-static ant cmake byacc flex automake libtool binutils-devel bison ncurses-devel gcc kernel-devel libtool libatomic
glibc-headers和gcc-c++再编译源码中回用的,如果不安装会报“error: C++ preprocessor “/lib/cpp” fails sanity check”。
下载GCC源码
我编译的是 gcc-10.2.0.tar.gz,可以从这里下载:
链接:https://pan.baidu.com/s/1Xo3uzDcJ9uA0c6KMMjkdmw
提取码:c049
安装
解压
将 gcc-10.2.0.tar.gz 放到 /usr/local/ 目录下并解压。
tar -zxvf gcc-10.2.0.tar.gz
解压完之后/usr/local/目录下回出现 gcc-10.2.0 这个文件夹
进到gcc-10.2.0文件夹中
cd gcc-10.2.0
安装必要的依赖
./contrib/download_prerequisites
这一步会安装mpc-1.0.3,gmp-6.1.0,mpfr-3.1.4,isl-0.18这4个依赖项,因为要访问国外的网站下载源码,所以这一步会很慢,甚至中间会失败,我是执行了三次才成功的。
成功之后执行可以看到已经在gcc-10.2.0的目录下建立了如下链接
编译
- 在gcc-10.2.0目录下创建build目录并进入:
mkdir build && cd build
- 执行configure:
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
- 进行make:
make && make install
- 使用gcc -v查看当前gcc的版本:
现在gcc就算编译完成了。