解决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问题的主要内容,如果未能解决你的问题,请参考以下文章
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