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
# 查看一下大功告成

  

  

 

posted @ 2021-12-08 14:59  百衲本  阅读(904)  评论(0编辑  收藏  举报
cnblogs_post_body { color: black; font: 0.875em/1.5em "微软雅黑" , "PTSans" , "Arial" ,sans-serif; font-size: 15px; } cnblogs_post_body h1 { text-align:center; background: #333366; border-radius: 6px 6px 6px 6px; box-shadow: 0 0 0 1px #5F5A4B, 1px 1px 6px 1px rgba(10, 10, 0, 0.5); color: #FFFFFF; font-family: "微软雅黑" , "宋体" , "黑体" ,Arial; font-size: 23px; font-weight: bold; height: 25px; line-height: 25px; margin: 18px 0 !important; padding: 8px 0 5px 5px; text-shadow: 2px 2px 3px #222222; } cnblogs_post_body h2 { text-align:center; background: #006699; border-radius: 6px 6px 6px 6px; box-shadow: 0 0 0 1px #5F5A4B, 1px 1px 6px 1px rgba(10, 10, 0, 0.5); color: #FFFFFF; font-family: "微软雅黑" , "宋体" , "黑体" ,Arial; font-size: 20px; font-weight: bold; height: 25px; line-height: 25px; margin: 18px 0 !important; padding: 8px 0 5px 5px; text-shadow: 2px 2px 3px #222222; } cnblogs_post_body h3 { background: #2B6695; border-radius: 6px 6px 6px 6px; box-shadow: 0 0 0 1px #5F5A4B, 1px 1px 6px 1px rgba(10, 10, 0, 0.5); color: #FFFFFF; font-family: "微软雅黑" , "宋体" , "黑体" ,Arial; font-size: 18px; font-weight: bold; height: 25px; line-height: 25px; margin: 18px 0 !important; padding: 8px 0 5px 5px; text-shadow: 2px 2px 3px #222222; } 回到顶部 博客侧边栏 回到顶部 页首代码 回到顶部 页脚代码