升级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版本,或是更高的版本。
输入命令查询一下结果:
[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
64位系统:
http://ftp.de.debian.org/debian/pool/main/g/gcc-4.7/libstdc++6_4.7.2-5_amd64.deb
假设下载的文件放在/data0/software/。
解压:
[root@localhost software]# tar -x libstdc++6_4.7.2-5_i386.deb && tar xvf data.tar.gz
解压后出现/data0/software/usr目录;
[root@localhost software]# cd /data0/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 /data0/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啦。
总结:
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位系统上安装成功过
如没有解决问题可以查看另一篇博客
解决/usr/lib64/libstdc++.so.6和/lib64/libc.so.6版本过低问题_poxiaonie的博客-CSDN博客_/usr/lib64/libstdc++.so.6https://blog.csdn.net/poxiaonie/article/details/74059023