所需軟件:
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執(zhí)行命令(有序安裝)
? ? ? ./configure; make; make install
3. 添加環(huán)境變量
? ? ?export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
3.? cd gcc-4.8.2,執(zhí)行如下命令
? ? ? ? ./configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
? ? ? ? make -j4 (注:此過程非常耗時)
? ? ? ? make install
安裝驗證
1.? 查看安裝后gcc版本
? ? ? ? gcc -v?
主要解決問題
1.? 編譯安裝某些軟件包時提示編譯錯誤蜗巧,例如:在線安裝R包-caret,xgboost,離線拷貝的xgboost包不能用等
相關(guān)內(nèi)容
1.? ? 解決類似 /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found 的問題
原因分析:源碼編譯升級安裝了gcc后,編譯程序或運行其它程序時音同,有時會出現(xiàn)類似/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found的問題千扶。這是因為升級gcc時料祠,生成的動態(tài)庫沒有替換老版本gcc的動態(tài)庫導(dǎo)致
解決方法:
1.? ? 查看本機gcc動態(tài)庫:
? ? ? strings /usr/lib64/libstdc++.so.6 | grep GLIBC
2.? ? 在編譯目錄找到新生成動態(tài)鏈接庫
find ./ -name "libstdc++.so*"
3.? ? 拷貝及創(chuàng)建軟連接
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.? ? 驗證動態(tài)庫更新成功
strings /usr/lib64/libstdc++.so.6 | grep GLIBC