CentOS7環(huán)境下gcc(版本10.2.0)升級詳細過程
簡短介紹
大家好,今天給大家分享gcc編譯器的升級方法。在linux系統(tǒng)中其實已經(jīng)自帶了gcc編譯器,但是版本比較低。目前有些開源工具例如:Apache Doris在安裝時需要更高版本的gcc 5.3.1+以上版本編譯器才能編譯c++代碼。那么我們就了解下gcc升級方法(從 4.8.5 升級到 10.2.0 )。
1、查看當(dāng)前gcc版本
## 看出當(dāng)前系統(tǒng) gcc版本. 默認4.8.5g++ -v 或者 gcc --version

2、下載gcc安裝包(10.2.0版本)
## 下載地址:http://ftp.gnu.org/gnu/gcc## linux下通過 wget指令下載wget http://ftp.gnu.org/gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.gz


3、解壓安裝包
tar -xvf gcc-10.2.0.tar.gz## 解壓后目錄 gcc-10.2.0

4、下載依賴庫
## 進入解壓后目錄,進行依賴庫下載cd gcc-10.2.0./contrib/download_prerequisites

5、安裝系統(tǒng)必須包模塊
yum install -y gcc-c++ libstdc++-static ant cmake byacc flex automake libtool binutils-devel bison ncurses-devel gcc kernel-devel libtool libatomic

6、創(chuàng)建編譯目錄
## 在gcc-10.2.0.同級目錄,創(chuàng)建編譯目錄 。名稱為:gcc-build-10.2.0mkdir ../gcc-build-10.2.0

7、生成Makefile文件
## 進入編譯錄,執(zhí)行命令,生成Makefile文件cd gcc-build-10.2.0../gcc-10.2.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

說明:
如果提示錯誤,configure: error: Building GCC requires GMP 4.2+, MPFR 3.1.0+ and MPC 0.8.0+.
需要將步驟4中,下載的依賴包刪除,之后重新執(zhí)行下。正確的包大小如下:


8、編譯
#執(zhí)行命令進行編譯,此處利用4個job,需編譯時約40分鐘,此值不宜設(shè)置過高make -j4 ## 建議使用 nohup & 執(zhí)行,真心慢

9、安裝
make install ## 建議使用nohup & 執(zhí)行。大概2分鐘可完成
10、配置libstdc++.so
## 驗證編譯目錄(gcc-build-10.2.0)下是否存在 libstdc++.so find . -name "libstdc++.so*"

## 進入libstdc++.so配置目錄cd /usr/lib64## 將新的libstdc++.so 拷貝到目錄下cp /root/gcc-build-10.2.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.28 .## 備份mv libstdc++.so.6 libstdc++.so.6.old## 創(chuàng)建新軟連ln -sv libstdc++.so.6.0.28 libstdc++.so.6

11、配置環(huán)境變量
## 卸載老版本 4.8.5yum remove gcc gcc-c++## 進入根目錄cd ~## 編輯當(dāng)前用戶環(huán)境變量vim .bash_profile## 內(nèi)容PATH=$PATH:$HOME/bin:/usr/local/bin/export CC=/usr/local/bin/gccexport CXX=/usr/local/bin/g++## 立即生效source ~/.bash_profile## 驗證gcc --version

總結(jié)
gcc升級過程中會遇到各種模塊或者包缺失問題。需要大家一個個安裝。其實這和linux系統(tǒng)本身環(huán)境也有一定的關(guān)系。所以有問題不要怕,解決掉就好了。相信你們可以的。
最終附一個整體安裝的小腳本
#!/bin/bash## 如下可保存 shell腳本一鍵運行cd /usr/srcwget http://ftp.gnu.org/gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.gzgcc_name_dir="gcc-10.2.0"gcc_build_name_dir="gcc-build-10.2.0"#解壓tar -xvf gcc-10.2.0.tar.gzcd ${gcc_name_dir}./contrib/download_prerequisitescd ..#建立編譯輸出目錄mkdir ${gcc_build_name_dir}#進入下面目錄,執(zhí)行命令,生成Makefile文件cd ${gcc_build_name_dir}../${gcc_name_dir}/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib#執(zhí)行命令進行編譯,此處利用4個job,需編譯時約40分鐘,此值不宜設(shè)置過高#sudo make -j4make -j4#安裝#sudo make installmake installexit 0## 如下需要手工操作##刪除之前 gccyum remove gcc gcc-c++##配置環(huán)境變量~/.bash_profile##版本位于目錄 /usr/local/bin/##加這個PATH=$PATH:$HOME/bin:/usr/local/bin/export CC=/usr/local/bin/gccexport CXX=/usr/local/bin/g++source ~/.bash_profile到此這篇關(guān)于CentOS7環(huán)境下gcc(版本10.2.0)升級詳細過程的文章就介紹到這了,更多相關(guān)CentOS升級gcc內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Centos7源碼編譯安裝 php7.2之生產(chǎn)篇
這篇文章主要介紹了詳解Centos7源碼編譯安裝 php7.2之生產(chǎn)篇,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06
詳解如何在 CentOS 7 上安裝和安全配置 MariaDB 10
這篇文章主要介紹了詳解如何在 CentOS 7 上安裝和安全配置 MariaDB 10,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03
Linux內(nèi)核設(shè)備驅(qū)動之系統(tǒng)調(diào)用筆記整理
今天小編就為大家分享一篇關(guān)于Linux內(nèi)核設(shè)備驅(qū)動之系統(tǒng)調(diào)用筆記整理,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12
vscode遠程開發(fā)使用SSH遠程連接服務(wù)器的方法「內(nèi)網(wǎng)穿透」
這篇文章主要介紹了vscode遠程開發(fā)使用SSH遠程連接服務(wù)器?「內(nèi)網(wǎng)穿透」,通過本文學(xué)習(xí)我們將通過vscode實現(xiàn)遠程開發(fā),并做內(nèi)網(wǎng)穿透實現(xiàn)在公網(wǎng)環(huán)境下的遠程連接,在外任意地方也可以遠程連接服務(wù)器進行開發(fā)寫代碼,需要的朋友可以參考下2023-02-02

