天天看点

/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found错误解决

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.14

GLIBCXX_3.4.15

GLIBCXX_3.4.16

GLIBCXX_3.4.17

已经安装好GLIBCXX_3.4.15啦。

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

本文转自 拾瓦兴阁 51CTO博客,原文链接:http://blog.51cto.com/ponyjia/1827695

继续阅读