解决Linux 环境 GLIBCXX_3.4.15' not found问题

Posted 交流分享 共同提高

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决Linux 环境 GLIBCXX_3.4.15' not found问题相关的知识,希望对你有一定的参考价值。

升级Centos系统之后,运行filezilla时,出现如下错误的提示信息:

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

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

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

原因是没有GLIBCXX_3.4.15版本,或是更高的版本。
输入命令查询一下结果:

[[email protected] ~]# 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位系统命令为:

[[email protected] ~]# 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

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

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

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

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

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

[[email protected] 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啦。

 

总结:

1 下载libstdc++.so.6.0.17 文件(下载地址文章前方)

2 放到临时文件夹 /tmp,解压tar -jxvf FileZilla_3.7.3_x86_64-linux-gnu.tar.bz2

3 解压后出现目录/tmp/usr/lib/x86_64-linux-gnu,拷贝文件cp libstdc++.so.6.0.17 /usr/lib

4 cd  /usr/lib64删除以前的libstdc++.so.6 链接rm libstdc++.so.6

5 建立软连接 ln libstdc++.so.6.0.17 libstdc++.so.6  

6  strings /usr/lib64/libstdc++.so.6  | grep GLIBCXX  通过这个方法查找出对应的版本型号

本人在 linux 6.4 x86_64位系统上安装成功过




















































以上是关于解决Linux 环境 GLIBCXX_3.4.15' not found问题的主要内容,如果未能解决你的问题,请参考以下文章

Centos6.5升级gcc4.4.7升级gcc4.7.0

GLIBCXX_3.4.9' not found - 解决办法

无root权限解决ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found问题

Linux下GLIBCXX和GLIBC版本低造成的编译错误的解决方案

XGBoost遇到“Error message(s): [“/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20‘”错误解决案例

ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found