安装CRF++,

到CRF++网站CRF++: Yet Another CRF toolkit,下载C++源代码安装包(这里用的是 CRF++-0.58.tar.gz ),解压,进入解压文件并如下过程安装

hd@hd:~/DLStudy$ tar -zxvf CRF++-0.58.tar.gz
hd@hd:~/DLStudy$ cd CRF++-0.58/
hd@hd:~/DLStudy/CRF++-0.58$ ./configure
hd@hd:~/DLStudy/CRF++-0.58$ make
hd@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 build
hd@hd:~/DLStudy/CRF++-0.57/python$ sudo python setup.py install

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

hd@hd:~/DLStudy/CRF++-0.57/python$ sudo python
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import CRFPP
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "CRFPP.py", line 25, in <module>
_CRFPP = swig_import_helper()
File "CRFPP.py", line 17, in swig_import_helper
import _CRFPP
ImportError: /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.6
find: ‘/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 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_3.4.18
GLIBCXX_3.4.19
GLIBCXX_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 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_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_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.6
hd@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 python
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import CRFPP
>>>

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

更多参考:

关于libstdc++.so.6: version `GLIBCXX_3.4.20' not found问题解决

CRF++ 实现中文分词

中文分词入门之字标注法4

CRF++安装,提示libstdc++.so.6: version `GLIBCXX_3.4.20' not found解决的更多相关文章

  1. linux系统下的缺失 libstdc++.so.6: version’GLIBCXX_3.4.20’的问题:

    在linux下遇到了一个这样的问题,使用anaconda时,它的安装库里的文件被提示:缺失 libstdc++.so.6: version’GLIBCXX_3.4.20’.后来经过查看资料知道了原来是 ...

  2. libstdc++.so.6: version `GLIBCXX_3.4.20' not found

    libstdc++.so.6: version `GLIBCXX_3.4.20' not found 参考链接: (1)解决/usr/lib/libstdc++.so.6: version `GLIB ...

  3. rhel 6 version `GLIBC_2.14' not found (required by /usr/lib64/libstdc++.so.6)以及libstdc++.so.6: version GLIBCXX_3.4.18 not found解决办法

    最近在oracle linux 7.3下开发了个应用,发布到rhel 6.5运行的时候,报version `GLIBC_2.14' not found (required by /usr/lib64/ ...

  4. linux下提示/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found 解决办法

    1.查看gcc版本中包含哪些库. strings /usr/lib64/libstdc++.so.6 | grep GLIBC GLIBCXX_3. GLIBCXX_3.4.1 GLIBCXX_3.4 ...

  5. GCC:/usr/lib/libstdc++.so.6: version GLIBCXX_3.4.15 not found

    源码编译升级安装了gcc后,编译程序或运行其它程序时,有时会出现类似/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found的问题.这 ...

  6. (转)解决类似 /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found 的问题

    转自:https://itbilu.com/linux/management/NymXRUieg.html 源码编译升级安装了gcc后,编译程序或运行其它程序时,有时会出现类似/usr/lib64/l ...

  7. Linux-GLIBCXX版本过低导致编译错误--version `GLIBCXX_3.4.20' not found

    最近在CentOS6.2上安装protobuf2.4.1,编译的时候出现如下错误: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not fo ...

  8. node 在centos 6.5 上 安装过程中出现/usr/lib64/libstdc++.so.6: version 'GLIBCXX_3.4.19' not found问题的解决

    node  在centos 6.5 上 安装过程中出现/usr/lib64/libstdc++.so.6: version 'GLIBCXX_3.4.19' not found问题的解决 在linux ...

  9. /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found错误的解决

    升级cmake时,提示"Error when bootstrapping CMake:Problem while running initial CMake",第二次运行./boo ...

随机推荐

  1. 网络视频播放ZFPlayer

    根据项目需要,公司app需要用到视频播放功能,推荐ZFPlayer,视频播放几乎有你想要的任何样式,该博客只是为了给自己留一个以后查找的资料, 改代码可以使用ZFPlayer github地址 htt ...

  2. ORACLE删除分区

    业务需求:定期删除表中三个月之前的数据 说明:由于表采取一个月一个分区的设计,所以删除三个月之前的数据也就是删除三个月之前的分区.但需要注意的是删除分区后全局索引会失效,而本地local索引不会受到影 ...

  3. js回溯法计算最佳旅行线路

    假如有 A,B,C,D四个城市,他们之间的距离用 G[V][E] 表示,为 无穷大,则表示两座城市不相通 现在从计算从某一个城市出发,把所有的城市不重复旅行一次,最短路径 其中G为: (Infinit ...

  4. javaScript核心基础

    JavaScript 是属于网络的脚本语言! JavaScript 作用:被数百万计的网页用来改进设计.验证表单.检测浏览器.创建cookies(js也可创建cookie,在浏览器里面创建),以及更多 ...

  5. linux的查找命令 find whereis locate

    Linux 有三个查找文件的命令:find, whereis, locate 其中find 不常用,whereis与locate经常使用,因为find命令速度较慢,因为whereis与locate是利 ...

  6. 029-IIS配置

    安装IIS.部署网站(发布或者拷贝都可以).修改连接字符串,compilation设为false,删掉cs代码上传文件夹不给执行权限: 在iis管理器中找到上传文件夹,选择属性--执行权限,设置为“无 ...

  7. 关于PChar(@string)的疑惑

    看到一篇博客关于讲Delphi中MOVE的例子,心生疑惑.记录下自己的实验,虽然我也不知道这是啥... program Project1; {$APPTYPE CONSOLE} uses SysUti ...

  8. 杨韬的Markdown自定义CSS样式

    效果 样例 杨韬的Python/Jupyter学习笔记 Markdown例子链接页面 代码 /*主标题*/ #cb_post_title_url{ font-size: 31px; } /*h1,h2 ...

  9. videojs+hls+rtmp流媒体播放

    前言:刚接触前端,小白一个,如有出错,请指正,谢谢! 注:视频格式可以分为适合本地播放的本地影像视频和适合在网络中播放的网络流媒体影像视频两大类. 一.互联网网络流媒体简介 HTTP stream是各 ...

  10. 盒子布局、标签特性display、浮动、定位position

    盒子模型布局: 盒子模型:每个标签都是一个盒子 盒子在页面显示在大小是:自身宽度+边框+边距(内边框+外边距) 如果一个盒子设置了边框,则边框需要被加两遍.若果设置了边距则内外边距根据设置情况要被加两 ...