Praat在CentOS 6.5中安装出现./praat /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.18' not found错误的解决办法

1.实验平台:CentOS 6.5 32位操作系统 和Praat

2.由于做实验需要用到praat,所以在http://www.fon.hum.uva.nl/praat/download_linux.html处下载了linux的版本,按照官网说明Unpack withgunzip andtar xvf. This will create the executable filepraat.You can remove thetar file.切换到root下,或者用sudo命令,运行

gunzip praat5419_linux32.tar
tar xvf praat5419_linux32.tar
解压完成后发现直接运行./praat或者用鼠标双击praat图标运行,总是出现

./praat  /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.18' not found这条错误,导致praat不能正常运行。后来在网上搜了一下,有一些解决办法,但都达不到想要的效果。后来想了一下,会不会是gcc的版本太低,于是运行gcc -v 查看gcc的版本,发现gcc的版本是4.4.7,然而gcc 已经能支持C++11了,可见问题在这里。于是首先更新gcc,这里有一个更新gcc的教程http://www.linuxidc.com/Linux/2015-01/112595.htm到gcc网站的gcc目录下找自己想下载的版本

我下载的版本是4.9.2。由于不同计算机配置不一样,编译时间也各异同,我用了一个小时。

3.按照上面的教程做完以后运行praat仍然不能,还是出现上面到错误,后来我又百度了一下,在网上找到了这个例子http://m.blog.csdn.net/blog/u012317833/25076147,我按照这个教程做了一下,根据这个教程“主要原因就是你最新升级gcc后生成的动态库没有替换老版本gcc的动态库”,

注意事项:

运行 find / -name "libstdc++.so*这条命令的时候,看清楚 /usr/local/lib/libstdc++.so.6.0.18,我的系统里是 /usr/local/lib/libstdc++.so.6.0.20,运行

cp /usr/local/lib/libstdc++.so.6.0.18 /usr/lib
ln -s /usr/lib/libstdc++.so.6.0.18 /usr/lib/libstdc++.so.6
这两条命令的时候要把libstdc++.so.6.0.18改成libstdc++.so.20 ,,然后再按照那个教程就OK了。

你可能感兴趣的:(常见软件安装故障FAQ)