Fork me on GitHub

Centos7 升级 libc.so.6

使用 node-canvas 时报错

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

先查看当前 Linux 服务器 gcc 版本中包含哪些库

1
2
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
strings /usr/lib64/libstdc++.so.6|grep CXXABI

看到没有版本 CXXABI_1.3.9,需要更新 libstdc++.so.6

下载libstdc++.so.6.0.26,拷贝到 /usr/lib64/
并替换 libstdc++.so.6 软链接

1
2
cd /usr/lib64/
ln -snf ./libstdc++.so.6.0.26 libstdc++.so.6

再次查看已经有 CXXABI_1.3.9 版本了

运行 node-canvas 相关代码再次报错:

1
Error: /lib64/libc.so.6: version `GLIBC_2.18' not found

需要安装 GLIBC_2.18

1
2
3
4
5
6
7
8
9
10
11
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

最后一步,如果报错提示权限问题,可以
sudo make install

再次运行 node-canvas,Success!

-------------感谢您的阅读 有问题请留言(或mailto:frostbelt@sina.cn)-------------