gcc動態庫升級


 1.報錯

error: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /opt/apps/venus-backend/node_modules/canvas/build/Release/canvas.node)

 2.解決方案

 升級gcc動態庫

3.解決步驟

1.查看當前動態庫版本
strings /usr/lib64/libstdc++.so.6 | grep CXXABI
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7
CXXABI_TM_1
發現最高版本只有1.3.7,沒有1.3.9的。

2.下載最新動態庫並編譯
wget http://ftp.gnu.org/gnu/glibc/glibc-2.34.tar.xz
tar -xvf glibc-2.34.tar.xz
mkdir glibc-build  #不能在glibc當前目錄下運行configure,否則會報錯"configure: error: you must configure in a separate build directory",需要新建編譯目錄
mkdir glibc-install

cd  glibc-build
../glibc-2.34/configure --prefix=/root/glibc-install
make &&make install
cp /root/glibc-install/lib/libc-2.34.so
cd  /usr/lib64/
ll libstdc++.so.6 #查看當前系統版本,用於恢復
lrwxrwxrwx. 1 root root 19 Jan 28  2021 libstdc++.so.6 -> libstdc++.so.6.0.19
rm -f libstdc++.so.6 && ln -sv libc-2.34.so libstdc++.so.6


源碼包下載地址:
http://mirrors.ustc.edu.cn/gnu/libc/
http://ftp.gnu.org/gnu/glibc/
https://centos.pkgs.org/7/centos-x86_64/libstdc++-4.8.5-44.el7.x86_64.rpm.html
參考地址:https://blog.csdn.net/u012927281/article/details/51704855

4.使用現有  

鏈接:https://pan.baidu.com/s/1vvGFYDG9GkrFNqf2FaUdoA 
提取碼:4mul 
直接替換即可

5.遇到的問題

make的版本低不能使用,默認帶的是 3.82 不滿足 make 4.0 的最低要求

cd /tmp
 
wget http://mirrors.ustc.edu.cn/gnu/make/make-4.0.tar.gz
tar xf make-4.0.tar.gz 
cd make-4.0/
./configure 
make
make install
make -v
# 此時的 make 還是3.82 與環境變量有關系
/usr/local/bin/make -v
# 這是我們剛安裝的 make 它的版本是4.0
whereis make
# 找一下都有哪些 make
cd /usr/bin/
mv make make.bak
# 把默認的 make 改名 
ln -sv /usr/local/bin/make /usr/bin/make
# 建立一個軟連接
make -v
# 查看一下大功告成

  

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM