CentOS6安裝gcc6.3

1.先安裝依賴庫以下3個和isl(isl找不到)

yum install mpfr

yum install gmp

yum install *mpc*

2.安裝c和c++的依賴庫

yum install glibc-static libstdc++-static

yum install gcc

yum install gcc-c++

yum install wget

3.下載gcc最新版本6.3(可以從gcc官網找速度快的源下載)

進入一個日常保存軟件安裝包的位置下載文件。

wget http://mirrors.concertpass.com/gcc/releases/gcc-6.3.0/gcc-6.3.0.tar.gz

4.解壓

tar -xf gcc-6.3.0.tar.gz

5.獲取依賴庫,再解壓目錄運行如下命令,會自動下載步驟1中安裝的庫和isl庫

./contrib/download_prerequisites

6.配置,然後新建目錄,在新目錄編譯,防止污染源碼目錄

mkdir gcc-build-6.3.0

cd gcc-build-6.3.0/

../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

7.然後編譯(j4,是用4線程去編譯,也可以不用)

make -j4

如果你的機器沒有4個核(邏輯核也行),最好不要用j4,這樣反而會頻繁地競爭核心,導致速度下降。

8.安裝

make install

9.然後替換老的gcc文件

mv /usr/bin/gcc /usr/bin/gcc4.4.7

ln -s /usr/local/bin/gcc /usr/bin/gcc

mv /usr/bin/g++ /usr/bin/g++4.4.7

ln -s /usr/local/bin/g++ /usr/bin/g++

mv /usr/bin/cc /usr/bin/cc4.4.7

ln -s /usr/local/bin/gcc /usr/bin/cc

mv /usr/bin/c++ /usr/bin/c++4.4.7

ln -s /usr/local/bin/c++ /usr/bin/c++

上面的命令用mv重命名了老的軟連接文件,其實用rm刪除也可以。還有要注意不要鏈接錯文件,不然就沒有用了。比如喵哥遇到錯誤:

                                                                    /bin/sh: cc: command not found

其實是因爲鏈接出了錯誤:

ln -s /usr/local/bin/cc /usr/bin/cc

在 /usr/local/bin中是沒有cc的,只有gcc。之前按照參考的博文設置的,後來遇到用cc編譯文件才發現鏈接錯了。

10.替換老的c++.so文件

rm -rf /usr/lib64/libstdc++.so.6

ln -s /usr/local/lib64/libstdc++.so.6.0.22 /usr/lib64/libstdc++.so.6

可以用strings /usr/lib64/libstdc++.so.6 | grep GLIBC查找是否已經加入了新的庫進去。

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章