Centos7 GCC升級至10.2.0 出現g++:command not found
新搭建的一臺測試機-centos7,安裝的時候選了最小安裝(後來知道這是一個多麼作死的決定,想哭),測試機是不能聯網的,全部安裝必須離線安裝
對機器安裝boost時出現異常,編譯boost時Failed to build Boost.Build build engine問題的解決
查詢原因發現我沒有安裝gcc,然後我安裝了系統自帶的gcc 4.8.5,但還是沒有解決問題,查詢原因發現是GCC版本太低,需要升級,於是開啟下面工程
1、下載GCC安裝包 及其依賴
gcc-10.2.0.tar.gz
百度網盤連結:https://pan.baidu.com/s/1JOmaO1i5KLv8gy_MwjFXJg
提取碼:c8gh
(包含gcc、gcc-C++預設版本以及gcc10.2.0)
2、解壓壓縮包(我解壓到了/usr/local/)
tar -zxvf gcc-10.2.0.tar.gz
3、上傳依賴包到 /usr/local/gcc-9.10 目錄下,並解壓
tar -xf gmp-6.1.0.tar.bz2 tar -xf mpfr-3.1.4.tar.bz2 tar -xf mpc-1.0.3.tar.gz tar -xf isl-0.18.tar.bz2
這個步驟中出現了一個異常,bzip2: Cannot exec: No such file or directory
這是因為沒有安裝bzip2-1.0.6.tar.gz
解決辦法:下載並安裝bzip2-1.0.6.tar.gz 百度網盤地址:
tar -xzvf bzip2-1.0.6.tar.gz
cd bzip2-1.0.6
make -f Makefile-libbz2_so
make clean
make
make install
安裝好bzip2後,繼續上面解壓依賴包
4、進入解壓目錄中
cd gcc-10.2.0/
5、建立軟連結
ln -sf gmp-6.1.0 gmp
ln -sf mpfr-3.1.4 mpfr
ln -sf mpc-1.0.3 mpc
ln -sf isl-0.18 isl
6、新建bulid目錄(與gcc-10.2.0同級)並進入該目錄中
mkdir build && cd build
7、生成Makefile檔案
../gcc-10.2.0/configure --prefix=/usr/local --enable-checking=release --enable-languages=c,c++ --disable-multilib
8、編譯及安裝
make && make install
執行中途出現異常,如下圖,然後檢視config.log檔案,顯示g++:command not foun
該問題的原因是沒有安裝gcc-c++,最小安裝的坑,但遇到了解決吧!
解決辦法,到centos7的映象檔案中Packages資料夾中查詢到下面19個rpm檔案,複製到一個資料夾,然後拷貝到centos上,進入 gcc-c++執行安裝命令 rpm -Uvh *.rpm --nodeps --force
安裝gcc-c++完成後,繼續之前操作,進入bulid目錄,編譯和安裝 ,make && make install
完成!