Manjaro中源碼安裝gcc7.1


剛剛gcc 7.1也出來了,想在使用熟悉的linux下試試,特記錄如下:

  准備必要的系統環境:(升級系統到最新,安裝必要的工具)

  pacman -Syyu                                           #升級系統到最新
  pacman -Q gcc  gawk m4  binutils lzip          #查看必備工具是否具備,沒有就安裝,我的缺少了lzip,安裝后,結果

  gcc 6.3.1-2
  gawk 4.1.4-2
  m4 1.4.18-1
  binutils 2.28.0-2
  lzip 1.19-1  

  mkdir gcc_builder_7.1 && cd gcc_builder_7.1

# 下載三個必須的庫gmp、mpfr、mpc;根據依賴關系:mpfr依賴於gmp, mpc依賴於gmp和mpfr。 下載順序無關緊要,安裝的順序必須是先安裝gmp,再安裝mpfr,然后安裝mpc,最后安裝gcc,由於文件是相互依賴的,千萬不要弄錯順序。

#獲取必要的文件
# gmp
  wget https://gmplib.org/download/gmp/gmp-6.1.2.tar.lz
# mpfr
  wget http://www.mpfr.org/mpfr-current/mpfr-3.1.5.tar.xz
# mpc
  wget ftp://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz
# gcc-7.1
  wget http://mirrors.webhostinggeeks.com/gcc/releases/gcc-7.1/gcc-7.1.tar.bz2

#新建源碼解壓保存目錄,使用對應的工具解壓到對應的目錄,最好不要有版本號
# 解壓 gmp
lzip -d gmp-6.1.2.tar.lz
tar -xvf gmp-6.1.2.tar && mv gmp-6.1.2 gmp
# 解壓mpfr
tar -Jxvf mpfr-3.1.5.tar.xz && mv mpfr-3.1.5  mpfr
# 解壓mpc
tar -zxvf mpc-1.0.3.tar.gz && mv mpc-1.0.3 mpc
# 解壓GCC
tar -jxvf gcc-7.1.tar.bz2 && mv gcc-7.1  gcc

# 編譯gmp庫,安裝到/usr/gcc_7_1目錄,以x86_64-linux-gnu內核
cd gmp                                                         #進入gmp源碼目錄
mkdir build && cd build                                     #准備編譯目錄
../configure --prefix=/usr/gcc_7_1 --build=x86_64-linux-gnu               #配置編譯選項
make  -j4                                                      #編譯
sudo make install                                              #編譯安裝

# 編譯mpfr庫,安裝到/usr/gcc_7_1目錄,以x86_64-linux-gnu內核,以gmp庫
cd ../../mpfr                                                   #進入mpfr源碼目錄
mkdir build && cd build                                     #准備編譯目錄
../configure --build=x86_64-linux-gnu --prefix=/usr/gcc_7_1 --with-gmp=/usr/gcc_7_1  #配置編譯選項
make    -j4                                                           #編譯
sudo make install                                            #編譯安裝

# 編譯mpc庫,依賴gmp、mpfr,內核...
cd ../../mpc                                                    #進入mpc源碼目錄
mkdir build && cd build                                      #准備編譯目錄
../configure --build=x86_64-linux-gnu --prefix=/usr/gcc_7_1 --with-gmp=/usr/gcc_7_1 --with-mpfr=/usr/gcc_7_1   #配置編譯選項
make    -j4                                                   #編譯
sudo make install                                             #編譯安裝

#編譯GCC源碼
cd ../../                                                       #進入gcc源碼目錄
mkdir build && cd build                                       #准備編譯目錄
export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/
export C_INCLUDE_PATH=/usr/include/x86_64-linux-gnu
export CPLUS_INCLUDE_PATH=/usr/include/x86_64-linux-gnu
#下一行是配置編譯環境
../gcc/configure --build=x86_64-linux-gnu --prefix=/usr/gcc_7_1 --with-gmp=/usr/gcc_7_1 --with-mpfr=/usr/gcc_7_1 --with-mpc=/usr/gcc_7_1 --enable-checking=release --enable-languages=c,c++,fortran --disable-multilib --program-suffix=-7.1
make   -j4                                                                                      #編譯

#make -jN,可以調整n的數值,例如:make -j4,如果編譯出錯,執行make clean后直接make,只是編譯過程會比較慢。
sudo ln -s /usr/lib/x86_64-linux-gnu/ /usr/lib64                                         #鏈接庫文件
sudo make install                                                                              #編譯安裝
export PATH=/usr/gcc_7_1/bin:$PATH                                                        

#將gcc 7.1添加到系統路徑,或者直接編輯home目錄下.bashrc文件,在最后添加 export PATH=/usr/gcc_7_1/bin:$PATH

# 調用編譯器測試
gcc-7.1  -v                                                    #結果如下:
使用內建 specs。
COLLECT_GCC=gcc-7.1
COLLECT_LTO_WRAPPER=/usr/gcc_7_1/libexec/gcc/x86_64-linux-gnu/7.1.0/lto-wrapper
目標:x86_64-linux-gnu
配置為:../gcc/configure --build=x86_64-linux-gnu --prefix=/usr/gcc_7_1 --with-gmp=/usr/gcc_7_1 --with-mpfr=/usr/gcc_7_1 --with-mpc=/usr/gcc_7_1 --enable-checking=release --enable-languages=c,c++,fortran --disable-multilib --program-suffix=-7.1
線程模型:posix
gcc 版本 7.1.0 (GCC)

#就表明安裝成功


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM