博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CRF++安装,提示libstdc++.so.6: version `GLIBCXX_3.4.20' not found解决
阅读量:4881 次
发布时间:2019-06-11

本文共 3048 字,大约阅读时间需要 10 分钟。

安装CRF++, 

到CRF++网站下载C++源代码安装包(这里用的是  ),解压,进入解压文件并如下过程安装

hd@hd:~/DLStudy$ tar -zxvf CRF++-0.58.tar.gzhd@hd:~/DLStudy$ cd CRF++-0.58/hd@hd:~/DLStudy/CRF++-0.58$ ./configurehd@hd:~/DLStudy/CRF++-0.58$ makehd@hd:~/DLStudy/CRF++-0.58$ sudo make install

在当前文件夹下cd python进入安装python包

hd@hd:~/DLStudy/CRF++-0.57$ cd python/hd@hd:~/DLStudy/CRF++-0.57/python$ python setup.py buildhd@hd:~/DLStudy/CRF++-0.57/python$ sudo python setup.py install

此时,当我们在Python环境下调用CRFPP时,出现如下错误

hd@hd:~/DLStudy/CRF++-0.57/python$ sudo pythonPython 2.7.12 (default, Nov 19 2016, 06:48:10)[GCC 5.4.0 20160609] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> import CRFPPTraceback (most recent call last):  File "
", line 1, in
File "CRFPP.py", line 25, in
_CRFPP = swig_import_helper() File "CRFPP.py", line 17, in swig_import_helper import _CRFPPImportError: /home/hd/anaconda2/lib/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/lib/libcrfpp.so.0)>>>

提示"anaconda2/lib/libstdc++.so.6: version `GLIBCXX_3.4.20' not found"

 

解决方法:

1. 首先查找libstdc++.so.6存在的位置:

hd@hd:~$ sudo find / -name libstdc++.so.6*/home/hd/anaconda2/lib/libstdc++.so.6.0.19/home/hd/anaconda2/lib/libstdc++.so.6/home/hd/anaconda2/pkgs/libgcc-4.8.5-2/lib/libstdc++.so.6.0.19/home/hd/anaconda2/pkgs/libgcc-4.8.5-2/lib/libstdc++.so.6find: ‘/run/user/1000/gvfs’: Permission denied/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21/usr/lib/x86_64-linux-gnu/libstdc++.so.6/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21-gdb.py

这说明在多个文件夹都存在。

分别检查每个路径下是否存在GLIBCXX_3.4.20.

hd@hd:~$ strings /home/hd/anaconda2/lib/libstdc++.so.6 | grep GLIBCXXGLIBCXX_3.4GLIBCXX_3.4.1GLIBCXX_3.4.2GLIBCXX_3.4.3GLIBCXX_3.4.4GLIBCXX_3.4.5GLIBCXX_3.4.6GLIBCXX_3.4.7GLIBCXX_3.4.8GLIBCXX_3.4.9GLIBCXX_3.4.10GLIBCXX_3.4.11GLIBCXX_3.4.12GLIBCXX_3.4.13GLIBCXX_3.4.14GLIBCXX_3.4.15GLIBCXX_3.4.16GLIBCXX_3.4.17GLIBCXX_3.4.18GLIBCXX_3.4.19GLIBCXX_DEBUG_MESSAGE_LENGTH

可以发现,其中没有GLIBCXX_3.4.20,这就是为什么前面提示出错的原因

那么在检查/usr/lib/x86_64-linux-gnu/中是否存在,

hd@hd:~$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXXGLIBCXX_3.4GLIBCXX_3.4.1GLIBCXX_3.4.2GLIBCXX_3.4.3GLIBCXX_3.4.4GLIBCXX_3.4.5GLIBCXX_3.4.6GLIBCXX_3.4.7GLIBCXX_3.4.8GLIBCXX_3.4.9GLIBCXX_3.4.10GLIBCXX_3.4.11GLIBCXX_3.4.12GLIBCXX_3.4.13GLIBCXX_3.4.14GLIBCXX_3.4.15GLIBCXX_3.4.16GLIBCXX_3.4.17GLIBCXX_3.4.18GLIBCXX_3.4.19GLIBCXX_3.4.20GLIBCXX_3.4.21GLIBCXX_DEBUG_MESSAGE_LENGTH

 可以发现其中存在GLIBCXX_3.4.20

 

3. 重新做链接

hd@hd:~$ sudo cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21 /home/hd/anaconda2/lib/ hd@hd:~$ sudo rm -rf /home/hd/anaconda2/lib/libstdc++.so.6hd@hd:~$ sudo ln -s /home/hd/anaconda2/lib/libstdc++.so.6.0.21 /home/hd/anaconda2/lib/libstdc++.so.6

 

4.检查问题是否解决,看是否可以import CRFPP:

hd@hd:~$ sudo pythonPython 2.7.12 (default, Nov 19 2016, 06:48:10)[GCC 5.4.0 20160609] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> import CRFPP>>>

此时不在有错误提示。问题解决

 

更多参考:

转载于:https://www.cnblogs.com/huadongw/p/7224052.html

你可能感兴趣的文章
复利计算--web版--总结--软件工程
查看>>
OPMN
查看>>
hdu 1999 不可摸数
查看>>
幂的求和取模
查看>>
LOG收集系统(一):原日志至收集
查看>>
【文摘】经营十二条
查看>>
清除浮动的方法
查看>>
Logstash连接Elasticsearch异常
查看>>
洛谷P4287 [SHOI2011]双倍回文(回文自动机)
查看>>
用户交互程序,格式化输出
查看>>
GNOME的发展与对比
查看>>
SPOJ PT07X Vertex Cover
查看>>
$ python-json模块的基本用法
查看>>
5.6.3.4 trim()方法
查看>>
Cookie、Session和自定义分页
查看>>
SQL演练
查看>>
React Antd中样式的修改
查看>>
Spring 应用外部属性文件 配置 context 错误
查看>>
导入lxml找不到etree,报ImportError:DLL load failed:找不到指定的程序
查看>>
面向对象一
查看>>