Centos6下編譯安裝gcc6.4.0
阿新 • • 發佈:2019-01-02
轉載自部落格園
https://www.cnblogs.com/milton/p/7653760.html
儲存學習用。
Centos6自帶的gcc4.4.7不支援c++11, 於是編譯安裝最新版的gcc
Update 2017-10-12: 在將 /usr/bin/gcc 更名後, link到這個檔案的 /usr/bin/cc 就失效了, 需要刪除, 並在 /usr/local/bin/ 下新建一個到gcc的cc軟鏈wget https://gmplib.org/download/gmp/gmp-6.1.2.tar.xz tar xvf gmp-6.1.2.tar.xz cd gmp-6.1.2 ./configure --prefix=/usr/local/gmp make && make install wget http://www.mpfr.org/mpfr-current/mpfr-3.1.6.tar.gz tar xvf mpfr-3.1.6.tar.gz cd mpfr-3.1.6 ./configure --prefix=/usr/local/mpfr --with-gmp=/usr/local/gmp make && make install wget ftp://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz tar xvf mpc-1.0.3.tar.gz cd mpc-1.0.3 ./configure --prefix=/usr/local/mpc --with-gmp=/usr/local/gmp -with-mpfr=/usr/local/mpfr make && make install vi /etc/ld.so.conf #增加以下三行 /usr/local/gmp/lib /usr/local/mpfr/lib /usr/local/mpc/lib # ldconfig -v wget ftp://ftp.gnu.org/gnu/gcc/gcc-6.4.0/gcc-6.4.0.tar.gz tar xvf gcc-6.4.0.tar.gz ./configure --enable-checking=release --enable-languages=c,c++ --disable-multilib --with-gmp=/usr/local/gmp --with-mpfr=/usr/local/mpfr --with-mpc=/usr/local/mpc make -j2 # 這個過程比較慢, 大概要半個多小時 make install # 改名 /usr/bin 下的 cpp, c++, gcc, g++, gcov 這些檔案, 再執行 gcc --version 就能看到新的版本資訊了
到這裡都是轉載自部落格園作者Milton的內容。
更新升級後的gcc還需要修改連線。不然gcc --version還是以前的版本資訊。
按照大部分的文件接下來的切換gcc和g++版本使用的是
sudo updatedb sudo update-alternatives --install /usr/bin/gcc gcc /opt/app/gcc6/bin/x86_64-pc-linux-gnu-gcc-6.4.0 10086 --slave /usr/bin/g++ g++ /opt/app/gcc6/bin/x86_64-pc-linux-gnu-g++
但是這個命令update-alternatives在目前的系統下無效(系統版本為centos6,沒有找到原因!)
因為本來就是為了更改/usr/bin/gcc和/usr/bin/g++軟連線
而且又不準備以後再切換回來原來的gcc版本所以就直接使用刪除掉原來的gcc/g++連線,重新建立連線到新安裝的gcc/g++位置,
本系統下安裝的gcc位置為 /opt/app/gcc6
sudo rm /usr/bin/gcc //刪除老的軟連線 sudo ln -s /opt/app/gcc6/bin/gcc /usr/bin/gcc //建立新的軟連線 sudo rm /usr/bin/g++ //刪除老的軟連線 sudo ln -s /opt/app/gcc6/bin/gcc /usr/bin/g++ //建立新的軟連線