redhat6.6/centos6.5離線升級gcc-4.4.7到4.8.2

所需軟件:

1.? ? gmp-4.3.2.tar.bz2

2.? ? mpc-0.8.1.tar.gz

3.? ? mpfr-2.4.2.tar.gz

4.? ? gcc-4.8.2.tar.gz

安裝步驟

1.? 解壓上述四個壓縮文件,進行源碼安裝

2.? 分別對gmp,mpfr,mpc執行命令(有序安裝)

? ? ? ./configure; make; make install

3. 添加環境變量

? ? ?export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

3.? cd gcc-4.8.2,執行如下命令

? ? ? ? ./configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

? ? ? ? make -j4 (注:此過程非常耗時)

? ? ? ? make install

安裝驗證

1.? 查看安裝后gcc版本

? ? ? ? gcc -v?

主要解決問題

1.? 編譯安裝某些軟件包時提示編譯錯誤,例如:在線安裝R包-caret,xgboost,離線拷貝的xgboost包不能用等

相關內容

1.? ? 解決類似 /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found 的問題

原因分析:源碼編譯升級安裝了gcc后,編譯程序或運行其它程序時,有時會出現類似/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found的問題。這是因為升級gcc時,生成的動態庫沒有替換老版本gcc的動態庫導致

解決方法:

1.? ? 查看本機gcc動態庫:

? ? ? strings /usr/lib64/libstdc++.so.6 | grep GLIBC

查看本機庫

2.? ? 在編譯目錄找到新生成動態鏈接庫

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

找到新庫

3.? ? 拷貝及創建軟連接

cp ./stage1-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.18 /usr/lib64

cd /usr/lib64

mv libstdc++.so.6?libstdc++.so.6.old

ln -s libstdc++.so.6.0.18 libstdc++.so.6

更新為新庫

4.? ? 驗證動態庫更新成功

strings /usr/lib64/libstdc++.so.6 | grep GLIBC

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容