歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu 13.04下編譯GCC-4.8.2源碼並安裝成功

Ubuntu 13.04下編譯GCC-4.8.2源碼並安裝成功

日期:2017/2/28 14:35:59   编辑:Linux教程

# 在Ubuntu-x64bit 下編譯GCC 4.8.2

# 安裝必要的軟件包
sudo apt-get update
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install gawk
sudo apt-get instll m4
sudo apt-get install gcc-multilib
sudo apt-get install binutils
sudo apt-get install lzip

# 新建GCC目錄
cd ~
mkdir GCC && cd GCC

# 下載GCC-4.8.2源碼: http://gcc.gnu.org/mirrors.html
# 下載三個必須的庫gmp、mpfr、mpc;根據依賴關系:mpfr依賴於gmp, mpc依賴於gmp和mpfr
# 先安裝gmp,再安裝mpfr,然後安裝mpc,最後安裝gcc
# gmp : https://gmplib.org/
# mpfr : http://www.mpfr.org/mpfr-current/#download
# mpc : http://www.multiprecision.org/index.php?prog=mpc&page=download
#
# gmp
wget https://gmplib.org/download/gmp/gmp-5.1.3.tar.lz
# mpfr
wget http://www.mpfr.org/mpfr-current/mpfr-3.1.2.tar.xz
# mpc
wget ftp://ftp.gnu.org/gnu/mpc/mpc-1.0.2.tar.gz
# gcc-4.8.2
wget http://mirrors.webhostinggeeks.com/gcc/releases/gcc-4.8.2/gcc-4.8.2.tar.bz2

# 解壓 gmp
lzip -d gmp-5.1.3.tar.lz
tar -xvf gmp-5.1.3.tar -C gmp
# 解壓mpfr
tar -Jxvf mpfr-3.1.2.tar.xz -C mpfr
# 解壓mpc
tar -zxvf mpc-1.0.2.tar.gz -C mpc
# 解壓GCC
tar -jxvf gcc-4.8.2.tar.bz2 -C gcc

###############
# 開始編譯 #
###############

# 編譯gmp庫,安裝到/usr/gcc_4_8目錄,以x86_64-linux-gnu內核
cd gmp
mkdir build && cd build
../configure --prefix=/usr/gcc_4_8 --build=x86_64-linux-gnu
make
sudo make install

# 編譯mpfr庫,安裝到/usr/gcc_4_8目錄,以x86_64-linux-gnu內核,以gmp庫
cd ..
cd ..
cd mpfr
mkdir build && cd build
../configure --build=x86_64-linux-gnu --prefix=/usr/gcc_4_8 --with-gmp=/usr/gcc_4_8
make
sudo make install

# 編譯mpc庫,依賴gmp、mpfr,內核。。。
cd ..
cd ..
cd mpc
mkdir build && cd build
../configure --build=x86_64-linux-gnu --prefix=/usr/gcc_4_8 --with-gmp=/usr/gcc_4_8 --with-mpfr=/usr/gcc_4_8
make
sudo make install

#####################
# 准備編譯GCC源碼 #
#####################

# 接下來開始編譯C/C++和Fortran編譯器
cd ..
cd ..
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_4_8 --with-gmp=/usr/gcc_4_8 --with-mpfr=/usr/gcc_4_8 --with-mpc=/usr/gcc_4_8 --enable-checking=release --enable-languages=c,c++,fortran --disable-multilib --program-suffix=-4.8
make
sudo ln -s /usr/lib/x86_64-linux-gnu /usr/lib64
sudo make install

##########################################
# 至此,Gcc已經安裝完成,下面配置系統路徑#
##########################################

# 下面命令可將gcc 4.8添加到系統路徑,或者直接編輯home目錄下.bashrc文件,在最後添加下面一行
export PATH=/usr/gcc_4_8/bin:$PATH

# 調用編譯器的簡單方法
g++-4.8 test.cpp -o test

# 可將源碼刪除
# rm -rf gmp mpfr mpc gcc

# 其他資料:
在配置之前先講解一下,要用到的配置是什麼意思:
--target= 生成的目標系統 #在編譯主機用的不需要配置這個
--build= 編譯的機器的類型 #這個可以說是必須要修改的
--host= 主機的類型 #這個參數不需要用到
--prefix= 安裝的目錄 #這個一定要配置
--enable-languages= 這個是配置生成的程序,支持什麼語言的編譯器 #這個要配置,防止生成的文件成多。參數過多造成編譯不通過
--disable-werror 這個是關閉提醒 #不一定需要。
--enable-ld=[yes,no] 這個是聯合binutils編譯的時候用到的。 #如果只編譯這個GCC.這個可以省略
--enable-gold=[yes,no] 這個是聯合binutils編譯的時候用到的。 #只編譯GCC 不需要用到這個。
--program-suffix= 這個是程序的後序 #為了區別與系統自帶的gcc建議加上這個
--program-transform-name= 這個是用來生成個性化的 gcc 命名規則。#如果使用了這個,可以不用上面的--program-suffix 這個選項
--disable-multilib 關閉使用跨平台的庫 #建設使用這個選項

更多Ubuntu相關信息見Ubuntu 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=2

Copyright © Linux教程網 All Rights Reserved