如何在 Centos7 中安裝 gcc

来源:http://www.cnblogs.com/lpbottle/archive/2017/11/26/install_gcc.html
-Advertisement-
Play Games

系統環境:Centos7.4 今天在安裝 Nodejs8.7 的時候,報了一個警告: WARNING: C++ Compiler too old, need g++ 4.9.4 or clang++ 3.4.2 (CXX=g++) 然後,查了一下自己系統上安裝的版本:4.8.5 好吧,不能用 yum ...


系統環境:Centos7.4

今天在安裝 Nodejs8.7 的時候,報了一個警告:

WARNING: C++ Compiler too old, need g++ 4.9.4 or clang++ 3.4.2 (CXX=g++)

然後,查了一下自己系統上安裝的版本:4.8.5

好吧,不能用 yum 升級了,那就手動安裝了吧

 

 

一、選擇需要升級的版本

gcc ftp 下載地址列表

(我選擇了5.4.0)

 

二、獲取安裝包並解壓

cd /usr/local/src
wget https://ftp.gnu.org/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.bz2
tar -jxvf gcc-5.4.0.tar.bz2

註:bz2是一種壓縮文件格式,若無法解壓,安裝 bzip2 即可:yum -y install bzip2

 

三、進入解壓後的gcc文件夾,下載供編譯需求的依賴項

cd gcc-build-5.4.0
./contrib/download_prerequisites

 

四、建立一個文件夾存放編譯文件

mkdir gcc-build-5.4.0
cd gcc-build-5.4.0

 

五、生成 Makefile 文件

make

註:這個過程非常耗時,我的1核1G記憶體大約花了一個來小時

 

六、安裝

sudo make install

 

七、重啟伺服器,驗證版本

gcc -v

 

 

等了那麼久,總算是成功了,很激動對不對?

但是!

我執行到上邊以後,屁顛屁顛的跑去編譯 nodejs 了,耍出了一個錯誤:

/usr/local/src/node-v8.7.0/out/Release/mksnapshot: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/local/src/node-v8.7.0/out/Release/mksnapshot)

編譯失敗~ 勞資等了30分鐘

 

好吧,出了問題終究是要解決的

問題原因:升級gcc時,生成的動態庫沒有替換老版本 gcc 動態庫導致的

解決方案:將gcc最新版本的動態庫替換系統中老版本的動態庫。

 

(1). 查找編譯gcc時生成的最新動態庫

find / -name "libstdc++.so*"

 

(2) 將找到的動態庫libstdc++.so.6.0.21複製到/usr/lib64

cp /usr/local/src/gcc-5.4.0/gcc-build-5.4.0/stage1-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.21 /usr/lib64

 

(3). 切換工作目錄至/usr/lib64,刪除原來的軟連接, 將預設庫的軟連接指向最新動態庫。

cd /usr/lib64
rm -rf libstdc++.so.6
ln -s libstdc++.so.6.0.21 libstdc++.so.6

 

到這裡才算是收工了。

 

 

 參考鏈接:

IT筆錄

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 什麼是資料庫系統? 資料庫系統=資料庫(DataBase(DB))+資料庫管理系統(Database Management System (DBMS))+資料庫應用程式(Database Application (DBA)) 資料庫:為了滿足一個機構的信息需求而設計的邏輯上相關的可共用的數據及數據描 ...
  • 最近有個需求,需要整合所有店鋪的數據做一個離線式分析系統,曾經都是按照店鋪分庫分表來給各自商家通過highchart多維度展示自家的店鋪經營 狀況,我們知道這是一個以店鋪為維度的切分,非常適合目前的線上業務,這回老闆提需求了,曾經也是一位數據分析師,sql自然就溜溜的,所以就來了 一個以買家維度展示 ...
  • 給大家介紹一下虛擬機和Xshell5連接的基本配置1.安裝虛擬機,跟著提示一步一步安裝即可,註意添加鏡像文件,虛擬機就完成了.2.下載一個Xshell5,安裝好之後.要修改虛擬機的網卡狀態 1).編輯ifcfg-eth0, 2).點一下i,出現--inner--,修改ONBOOT=YES,Esc退出 ...
  • 1.創建mysql用戶,mysql組. # useradd -s /bin/nologin -M mysql 查看是否創建成功. # id mysql 2.講mysql的二進位包解壓到/usr/local/目錄下. # cd /usr/local/ # tar -zxvf mysql-5.7.20- ...
  • Mysql的許可權 mysql中存在4個控制許可權的表,分別為user表,db表,tables_priv表,columns_priv表。 mysql許可權表的驗證過程為: 先從user表中的Host,User,Password這3個欄位中判斷連接的ip、用戶名、密碼是否存在,存在則通過驗證。 通過身份認證 ...
  • grep 簡介 grep(Global search REgular expression and Print out the line)是Linux上的文本處理三劍客之一,另外兩個是sed和awk. grep是文本搜索工具,根據用戶指定的pattern(由文本字元及正則表達式元字元編寫的過濾條件) ...
  • 首先安裝expect # yum -y install expect 命令格式 # ./expect IP COMM #expect是獨立的工具,所以不能用sh來執行 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #!/usr/bin/expect ...
  • zabbix入門知識 zabbix中文手冊 https://www.zabbix.com/documentation/3.4/manual/ 1.zabbix介紹 2.zabbix系統架構圖 3.zabbix的組件 4.zabbix支持的通訊協議 5.zabbix的工作模式 6.zabbix的監控過 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...