在非root環境下安裝gcc-8.4.0,可以解決redhat/centos gcc版本過低導致的軟件編譯錯誤的問題。gcc-8.4.0需要一系列的依賴包。
1.下載依賴包:
gmp-6.2.0, mpfr-4.1.0, mpc-1.2.0, isl-0.18
可以從以下鏈接中下載
http://mirrors.nju.edu.cn/gnu/
下載結束后解壓。
2.依次安裝上述依賴包:
mkdir ~/usr/local/ (可以自定義安裝目錄)
cd gmp-6.2.0
./configure --prefix=~/usr/local/
make && make install
安裝gmp-6.0依賴庫
dnf/yum install gmp-devel-6.0.0-15.el7.x86_64 texinfo flex
cd mpfr-4.1.0
./configure --prefix=~/usr/local --with-gmp=~/usr/local
make && make install
cd mpc-1.2.0
./configure --prefix=~/usr/local --with-gmp=~/usr/local --with-mpfr=~/usr/local
make && make install
cd isl-0.18
./configure --prefix=~/usr/local --with-gmp=~/usr/local
make && make install
將上述依賴包的lib目錄加入庫搜索路徑:
export LD_LIBRARY_PATH=~/usr/local/lib:$LD_LIBRARY_PATH
3. 下載解壓安裝gcc-8.4.0:
cd gcc-8.4.0
./configure --prefix=~/usr/local --with-gmp=~/usr/local --with-mpfr=~/usr/local --with-mpc=~/usr/local --enable-checkinf=release --enable-languages=c,c++,fortran --disable-multilib
make && make install
安裝完成后將路徑加入環境變量:
GCCHOME=~/usr/local
export PATH=$GCCHOME/bin:$PATH
export LD_LIBRARY_PATH=$GCCHOME/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$GCCHOME/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$GCCHOME/include:$LD_LIBRARY_PATH
4. 報錯找不到libgfortran.so.5的問題
首先確認在configure gcc那一步加入--enable-languages=fortran,這樣才能編譯gfortran;
其次確認~/usr/local/lib64目錄有沒有libgfortran.so.5.0.0;
最后ln -s ~/usr/local/lib64/libgfortran.so.5.0.0 /usr/lib64/libgfortran.so.5
謝謝。
部分摘自:https://blog.csdn.net/life_NULL/article/details/113684776