CentOS 中安装软件后运行,有时会遇到usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ...)的错误。

如果是64位系统报错信息如下:

./filezilla: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ...)

  • 这是因为没有GLIBCXX_3.4.15,或是更高的版本。

那到底是什么原因呢,老实说我也不清楚,输入命令查询一下:

[root@localhost ~]# strings /usr/lib/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

我们看到当前GCC版本中的确没有GLIBCXX_3.4.15。

  • 64位系统命令为:

[root@localhost ~]# strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX

  • 下载新版本,地址:http://ftp.de.debian.org/debian/pool/main/g/gcc-4.7/libstdc++6_4.7.2-5_i386.deb(这是debian系统下的包名,centos下解压后也能用)

64位系统:
http://ftp.de.debian.org/debian/pool/main/g/gcc-4.7/libstdc++6_4.7.2-5_amd64.deb

  • 假设下载的文件放在/download/software/。
    解压:

[root@localhost software]# ar -x libstdc++6_4.7.2-5_i386.deb && tar zxvf data.tar.gz
解压后出现/download/software/usr目录;
[root@localhost software]# cd  /download/software/usr/lib/i380-linux-gun
[root@localhost i386-linux-gnu]# cp libstdc++.so.6.0.17 /usr/lib
[root@localhost i386-linux-gnu]# /usr/lib
[root@localhost lib]# rm libstdc++.so.6
[root@localhost lib]# ln libstdc++.so.6.0.17 libstdc++.so.6

注意64位系统为
[root@localhost software]# cd  /download/software/usr/lib/x86_64-linux-gnu
[root@localhost x86_64-linux-gnu]# cp libstdc++.so.6.0.17 /usr/lib64
[root@localhost x86_64-linux-gnu]# /usr/lib
[root@localhost lib64]# rm libstdc++.so.6
[root@localhost lib64]# ln libstdc++.so.6.0.17 libstdc++.so.6

  • 重新建立软连接,我们再输入命令查询一下结果:

[root@localhost lib]# strings /usr/lib/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_DEBUG_MESSAGE_LENGTH

已经安装好GLIBCXX_3.4.15啦。

重新运行安装的软件,应该没问题啦。