Ubuntu系統是自帶GCC安裝指令的apt install gcc
,當前apt源中gcc版本爲5.4.0,版本過低,推薦手動安裝gcc8.3.0ui
手動安裝gcc8.3.0以前須要先確保安裝gcc環境依賴GMP 4.2+ 、 MPFR 2.3.1+ 、 MPC 0.8.0+,不然會報出如下錯誤code
configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
their locations.
安裝GMP 6.1.2ci
#下載GMP安裝包 wget http://mirror.hust.edu.cn/gnu/gmp/gmp-6.1.2.tar.xz #解壓GMP安裝包 tar -Jxf gmp-6.1.2.tar.xz #建立GMP安裝路徑 mkdir -p /usr/local/gmp-6.1.2 #配置安裝文件 cd gmp-6.1.2 ./configure --prefix=/usr/local/gmp-6.1.2 #編譯源碼 make #安裝 make install
安裝MPFR4.0.2get
#下載MPFR 安裝包 wget http://mirror.hust.edu.cn/gnu/mpfr/mpfr-4.0.2.tar.xz #解壓MPFR安裝包 tar -Jxf mpfr-4.0.2.tar.xz #建立MPFR安裝路徑 mkdir -p /usr/local/mpfr-4.0.2 #配置安裝文件 cd mpfr-4.0.2 ./configure --prefix=/usr/local/mpfr-4.0.2 --with-gmp=/usr/local/gmp-6.1.2 #編譯源碼 make #安裝 make install
安裝MPC1.1.0源碼
#下載MPC 安裝包 wget http://mirror.hust.edu.cn/gnu/mpc/mpc-1.1.0.tar.gz #解壓MPC安裝包 tar -zxf mpc-1.1.0.tar.gz #建立MPC安裝路徑 mkdir -p /usr/local/mpc-1.1.0 #配置安裝文件 cd mpc-1.1.0 ./configure --prefix=/usr/local/mpc-1.1.0 --with-gmp=/usr/local/gmp-6.1.2 --with-mpfr=/usr/local/mpfr-4.0.2 #編譯源碼 make #安裝 make install
上述所有安裝完成後,安裝GCC8.3.0it
#下載gcc安裝包 wget mirror.hust.edu.cn/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.gz #解壓gcc安裝包 tar -zxf gcc-8.3.0.tar.gz #建立gcc安裝路徑 mkdir -p /usr/local/gcc-8.3.0 #配置安裝文件 cd gcc-8.3.0 #後面的--with-gmp, --with-mpfr and/or --with-mpc選項必定要是相應安裝的路徑,不然會報出和上邊一樣的錯誤 ./configure --prefix=/usr/local/gcc-8.3.0 --disable-multilib --with-gmp=/usr/local/gmp-6.1.2 --with-mpfr=/usr/local/mpfr-4.0.2 --with-mpc=/usr/local/mpc-1.1.0 #編譯 make #make完成後,make install make install ln -s /usr/local/gcc-8.3.0 /usr/local/gcc # 配置環境變量 export PATH=/usr/local/gcc/bin:$PATH export LD_LIBRARY_PATH=/usr/local/gcc/lib64:/usr/local/gmp/lib:/usr/local/mpfr/lib:/usr/local/mpc/lib:$LD_LIBRARY_PATH export MANPATH=/usr/local/gcc/share/man:$MANPATH # 查看gcc版本,判斷gcc是否安裝成功 gcc --version
若是在安裝gcc的make過程當中報錯「error: C++ preprocessor "/lib/cpp" fails sanity check」,是由於缺乏C++必要的庫,執行安裝apt-get install build-essential
。而後make clean後再make便可。io
make 過程須要3個小時左右,make install過程須要一個小時左右,安心等待便可編譯