背景:最近在centos上安装node-canvas有的问题确实不好找到解决方案,记录一下。
Linux上运行“xxx”文件过程中出现报错信息:
/lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ../../bin/xxx)
/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ../../bin/xxx)
目录
命令:
# 查询是否有对应的GLIBC 或者 GLIBC
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
strings /usr/lib64/libstdc++.so.6|grep CXXABI
当然出现上面的问题,主要原因是因为gcc动态库版本过老。如果没有CXXABI_1.3.9,需要进行更新对应的libstdc++.so.6
解决办法一: 更新libstdc++.so.6.0.26
# 更新lib libstdc++.so.6.0.26
wget https://cdn.frostbelt.cn/software/libstdc%2B%2B.so.6.0.26
# 替换系统中的/usr/lib64
把下载的libstdc++.so.6.0.26 cp 到 /usr/lib64/
cd /usr/lib64/
ln -snf ./libstdc++.so.6.0.26 libstdc++.so.6
这样就OK了
解决办法二:查找本机上新的so库
或者如果电脑里面有新的so库的话 就不用下载 执行上面的内容进行软连接即可
# 查询本机的so库
find / -name "libstdc++.so.*"
解决办法三: 安装GLIBC_2.18
如果上面执行完,还有报错
Error: /lib64/libc.so.6: version `GLIBC_2.18' not found
install GLIBC_2.18:
那就需要安装对应的glib库了
curl -O http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz
tar zxf glibc-2.18.tar.gz
cd glibc-2.18/
mkdir build
cd build/
../configure --prefix=/usr
make -j2
make install