CRF++安装,提示libstdc++.so.6: version `GLIBCXX_3.4.20' not found解决
安装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解决的更多相关文章
- linux系统下的缺失 libstdc++.so.6: version’GLIBCXX_3.4.20’的问题:
在linux下遇到了一个这样的问题,使用anaconda时,它的安装库里的文件被提示:缺失 libstdc++.so.6: version’GLIBCXX_3.4.20’.后来经过查看资料知道了原来是 ...
- 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 ...
- 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/ ...
- 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 ...
- 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的问题.这 ...
- (转)解决类似 /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found 的问题
转自:https://itbilu.com/linux/management/NymXRUieg.html 源码编译升级安装了gcc后,编译程序或运行其它程序时,有时会出现类似/usr/lib64/l ...
- 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 ...
- 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 ...
- /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found错误的解决
升级cmake时,提示"Error when bootstrapping CMake:Problem while running initial CMake",第二次运行./boo ...
随机推荐
- SimplifyReader项目(转载)
项目地址: https://github.com/SkillCollege/SimplifyReader SkillCollege / SimplifyReader 一款基于Google Materi ...
- 谈谈那些年我们装B的并发编程
谈谈那些年我们装B的并发编程 每个人对并发编程的理解会有差异,但是终极目标始终是追求尽可能高的处理性能.那么如何尽可能的提升处理性能呢? 我们可以从单核,多核,并发,并行的基础出发.首先,介绍下基础知 ...
- javaweb(3)之JSP&EL&JSTL
JSP(Java Server Page) 介绍 什么是 JSP ? 从用户角度看,JSP 就是一个网页. 从开发者角度看,它其实就是一个继承了 Servlet 的 java 类,所以可以直接说 JS ...
- centos上部署应用到tomcat
tomcat部署JavaWeb项目分为下面的步骤: 1.删除tomcat按照目录的ROOT文件夹下的所有文件 2.把war包复制到ROOT文件下面,解压缩:jar -xvf xxxx.war; 3.结 ...
- 【转】Jira插件安装
一.Jira插件列表(可以将下面免费插件直接下载,然后登陆jira,在"插件管理"->"上传插件",将下载后的免费插件直接进行上传安装即可) 序号 插件名 ...
- GCD(IV)
死锁:2个任务相互等待造成的. - (void) GCD { NSLog(@"begin"); dispatch_queue_t queue = dispatch_queue_cr ...
- JavaScricp(总回顾)
知识点导图 1:基础知识 (1)JavaScript是脚本语言,弱类型,执行非常非常快 (2)它与java有什么关系?没有任何关系 (3)js能做什么事情?1控制浏览器 BOM ,2控制元素 DOM ...
- 关于java职业路径
java,jvm原理,spring原理,mysql锁,事务,多线程,大并发,分布式架构,微服务,以及相关的项目管理
- Netbeans and Remote Host for C/C++ Developing
Netbeans and Remote Host for C/C++ Developing 很久以来,因为我不适应在 Linux 下使用 Vim, GCC, GDB 开发 C/C++ 程序,所以我一直 ...
- [c/c++] programming之路(24)、字符串(五)——字符串插入,字符串转整数,删除字符,密码验证,注意事项
1.将字符串插入到某位置(原字符串“hello yincheng hello cpp hello linux”,查找cpp,找到后在cpp的后面插入字符串“hello c”) 需要用到strstr字符 ...