系統平台:Red-Hat-Enterprise-Linux-Server-6.0-X86_64
1、clang-3.2安裝筆記
(1)下載clang、llvm、compiler-rt源代碼
LLVM-3.2源代碼下載: LLVM source code(12M)
clang-3.2源代碼下載:Clang source code(8.4M)
compiler-rt源代碼下載:Compiler RT source code(1.4M)
clang-3.2.src.tar.gz
compiler-rt-3.2.src.tar.gz llvm-3.2.src.tar.gz
(2)解壓下載的源代碼壓縮包
tar -zxf llvm-3.2.src.tar.gzs # 解壓后文件夾名為llvm-3.2.src,將其重命名為llvm-3.2 tar -zxf clang-3.2.src.tar.gz # 解壓后文件夾名為clang-3.2.src,將其重命名為clang並將其移動到llvm-3.2/tools目錄之下 tar -zxf compiler-rt-3.2.src.tar.gz # 解壓后文件夾名為compiler-rt-3.2.src,將其重命名為compiler-rt-3.2並將其移動到llvm-3.2/projects目錄之下
然后在於llvm-3.2所在目錄新建一個build目錄,這樣最終得到的目錄結構關系如下所示:
├── build └── llvm-3.2 ├── projects │ └── compiler-rt └── tools └── clang
【說明】:我們將在build目錄中進行構建llvm、clang和compiler-rt,之所以這樣是為了讓源代碼保持干凈,生成的目標文件都在這里。另外將clang和compiler-rt目錄分別放入llvm-3.2相應的子目錄下是為了在構建llvm的同時,自動構建clang和compiler-rt。
(3)構建llvm、clang和compiler-rt
cd build ../llvm-3.2/configure make
(4)設置環境變量
上述第(3)步成功后,clang已經成功編譯到了build/Release+Asserts/bin目錄之中,至此只需將clang所在目錄添加到PATH環境變量中,clang就可以使用了。
【說明】:前些日子也記錄過一篇關於編譯clang的文章(http://www.cnblogs.com/soaliap/archive/2012/07/23/2605278.html),當時是從主干直接下載代碼的,編譯的為Debug版本,很浪費硬盤空間(超過7G),這里下載並編譯的為Release版本,就小的多了(不到1G)。
2、gcc-4.7.2安裝筆記
(1)、gcc-4.7.2源碼下載
打開http://www.gnu.org/software/gcc/gcc-4.7/頁面,左下角可以看到下載鏡像站點和SVN服務器地址,本人是從FTP鏡像站點下的,並且是.tar.bz2格式(這個格式壓縮比較好,壓縮文件較小)。
(2)、解壓壓縮包
tar -jxf gcc-4.7.2.tar.bz2
(3)、初次嘗試
解壓后文件夾為gcc-4.7.2,同上面構建clang一樣,新建與gcc-4.7.2同級的目錄build,並進入其中執行:
../gcc-4.7.2/configure --prefix=/opt/gcc/4.7.2
不幸的是報錯了,錯誤信息如下:
...... checking for the correct version of gmp.h... no 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. Source code for these libraries can be found at their respective hosting sites as well as at ftp://gcc.gnu.org/pub/gcc/infrastructure/. See also http://gcc.gnu.org/install/prerequisites.html for additional info. If you obtained GMP, MPFR and/or MPC from a vendor distribution package, make sure that you have installed both the libraries and the header files. They may be located in separate packages.
從錯誤信息中可以看出,需要安裝gmp、mpfr和mpc,如果已經安裝了,並且安裝在了非系統默認能夠查找到的位置,則需要通過--with-gmp、--with-mpfr、--with-mpc三個選項指定安裝位置。
(4)、安裝gmp、mpfr和mpc
gmp可以從http://gmplib.org/下載,解壓后執行:
./configure --prefix=/usr/local/gmp-5.1.0 make make install
mpfr可以從http://www.mpfr.org/下載,解壓后執行:
./configure --prefix=/usr/local/mpfr-3.1.1 --with-gmp=/usr/local/gmp-5.1.0 make make install
mpc可以從http://www.multiprecision.org/下載,解壓后執行:
./configure --prefix=/usr/local/mpc-1.0.1 --with-mpfr=/usr/local/mpfr-3.1.1 --with-gmp=/usr/local/gmp-5.1.0 make make install
設置環境變量:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gmp-5.1.0/lib:/usr/local/mpfr-3.1.1/lib:/usr/local/mpc-1.0.1/lib
【說明】:由於上述三個庫的依賴關系為:mpc依賴於mpfr和gmp,mpfr依賴於gmp,因此這三個庫的安裝先后順序必須為:gmp、mpfr、mpc。另外,值得一提的是本人一開始想偷懶,不指定gmp、mpfr、mpc的安裝目錄,讓它們安裝到默認的路徑,這樣就可以不設置環境變量,也不需使用--with-gmp、--withmpfr、--with-mpc三個選項了,可沒想到重新make的時候(編譯gcc的時候)會報錯:“configure: error: cannot compute suffix of object files: cannot compile”,於是只好老老實實按照上述步驟再做一遍。
(5)、重新構建
../gcc-4.7.2/configure --prefix=/opt/gcc/4.7.2 --with-mpc=/usr/local/mpc-1.0.1 --with-mpfr=/usr/local/mpfr-3.1.1 --with-gmp=/usr/local/gmp-5.1.0 make
make的時候還有錯誤:“/usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or directory”,解決方法是在執行configure時加上--disable-multilib選項。
(6)、再次重新構建
../gcc-4.7.2/configure --prefix=/opt/gcc/4.7.2 --with-mpc=/usr/local/mpc-1.0.1 --with-mpfr=/usr/local/mpfr-3.1.1 --with-gmp=/usr/local/gmp-5.1.0 --disable-multilib make make install
(7)、設置環境變量
export PATH=/opt/gcc/4.7.2/bin:$PATH export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/gcc/4.7.2/lib64:/usr/local/gmp-5.1.0/lib:/usr/local/mpfr-3.1.1/lib:/usr/local/mpc-1.0.1/lib
至此,g++-4.7.2已經可以正常使用了。
【說明】:若是安裝過程還有別的問題,可以瞅瞅這篇文章,http://blog.csdn.net/gengshenghong/article/details/7498085,看能否找到答案。
3、Intel C++編譯器安裝筆記
(1)、申請評估版本
intel編譯器並不開放源代碼,但是提供一個30天免費使用的評估版本,需要到intel官方網站申請(http://software.intel.com/en-us/intel-software-evaluation-center)填寫申請信息提交后,會收到intel發給你的一封郵件,其中有下載的鏈接。
【說明】:默認下載的版本能夠安裝在32位系統或64位系統之中,但是下載的壓縮包比較大(1.5G),如果你只想要安裝在64位系統上,那么下載intel64版本的即可(僅有968M),另外也有32位版本。
(2)、安裝
下載完成后,解壓,里面有個shell腳本(install.sh),運行它即可。安裝過程更裝windows程序沒什么兩樣,只不過是命令行形式的,需要你手動敲accept和安裝選項而已。
(3)、設置環境變量
intel提供了shell腳本來幫助你簡化環境變量設置,只需執行:
source /opt/intel/bin/compilervars.sh intel64 # /opt/intel為安裝目錄