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 # 查看一下大功告成
"一劳永逸" 的话,有是有的,而 "一劳永逸" 的事却极少