1.环境
本文使用VMWare虚拟机进行实验。
4 核CPU, 4GB 内存,20GB 硬盘,CentOS 7.2 最小安装(CentOS-7-x86_64-Minimal-1511.iso)
2.需求
a)参见官网手册,下载以下四个依赖库(注意版本)
- gmp-6.1.2.tar.xz
- isl-0.18.tar.bz2
- mpc-1.0.3.tar.gz
- mpfr-3.1.6.tar.xz
b)下载gcc7.3源码
gcc-7.3.0.tar.xz
c)安装开发工具集
yum -y group install "Development Tools"
d)解压,将依赖库移动到gcc源码目录
tar Jxvf gcc-7.3.0.tar.xz
tar jxvf isl-0.18.tar.bz2 tar Jxvf mpfr-3.1.6.tar.xz tar Jxvf gmp-6.1.2.tar.xz tar zxvf mpc-1.0.3.tar.gz mv isl-0.18 gcc-7.3.0/isl mv mpfr-3.1.6 gcc-7.3.0/mpfr mv gmp-6.1.2 gcc-7.3.0/gmp mv mpc-1.0.3 gcc-7.3.0/mpc
3.编译
新建一个build目录,在这里配置、编译
mkdir gcc73builddir cd gcc73builddir ../gcc-7.3.0/configure --enable-languages=c,c++ --disable-multilib make -j4 make install
支持c,c++,默认安装到/usr/local
这个虚拟机配置,编译大约需要30分钟~50分钟。
4.运行
[root@worker ~]# /usr/local/bin/gcc -v Using built-in specs. COLLECT_GCC=/usr/local/bin/gcc COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/7.3.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc-7.3.0/configure --enable-languages=c,c++ --disable-multilib Thread model: posix gcc version 7.3.0 (GCC) [root@worker ~]#
注意几点
- 编译GCC7.3所需的依赖库有版本限制,本文所选版本一定可以编译成功(都选最新版本没编过去)
- 如果编译中途出错失败,很可能已经进入错误流程,调整完继续编译仍然可能继续出错,建议删除build目录重建目录重配置重编译