Error: /lib64/libstdc++.so.6: version `CXXABI_1.3.9‘ not found

背景:最近在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)

目录

解决办法一: 更新libstdc++.so.6.0.26

解决办法二:查找本机上新的so库

解决办法三: 安装GLIBC_2.18


命令:

# 查询是否有对应的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

你可能感兴趣的:(c++,linux,运维)