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

2、下載gcc安裝包(10.2.0版本)
## 下載地址:http://ftp.gnu.org/gnu/gcc## linux下通過(guò) 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、下載依賴庫(kù)
## 進(jìn)入解壓后目錄,進(jìn)行依賴庫(kù)下載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.同級(jí)目錄,創(chuàng)建編譯目錄 。名稱為:gcc-build-10.2.0mkdir ../gcc-build-10.2.0

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

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


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

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

## 進(jìn)入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++## 進(jìn)入根目錄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## 驗(yàn)證gcc --version

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

