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目錄重建目錄重配置重編譯