首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python和java api的freeling错误:未定义的符号:_ZN5boost6system15system_categoryEv

python和java api的freeling错误:未定义的符号:_ZN5boost6system15system_categoryEv
EN

Stack Overflow用户
提问于 2013-11-19 04:23:50
回答 1查看 13.4K关注 0票数 9

我在Ubuntu 13.10中安装了freeling,并尝试使用python或java apis,但每次尝试时都会遇到错误:

代码语言:javascript
复制
    matias@matias-IdeaPad-U430-Touch:~/Programas/Tools/freeling/freeling-3.1/APIs/python$ ./sample.py <test.txt >out.txt
Traceback (most recent call last):
  File "./sample.py", line 10, in <module>
    import freeling
  File "/home/matias/Programas/Tools/freeling/freeling-3.1/APIs/python/freeling.py", line 26, in <module>
    _freeling = swig_import_helper()
  File "/home/matias/Programas/Tools/freeling/freeling-3.1/APIs/python/freeling.py", line 22, in swig_import_helper
    _mod = imp.load_module('_freeling', fp, pathname, description)
  File "/usr/lib/python3.3/imp.py", line 188, in load_module
    return load_dynamic(name, filename, file)
ImportError: /usr/local/lib/libfreeling-3.1.so: undefined symbol: _ZN5boost6system15system_categoryEv

对于Java:

代码语言:javascript
复制
matias@matias-IdeaPad-U430-Touch:~/Programas/Tools/freeling/freeling-3.1/APIs/python$ ./sample.py <test.txt >out.txt
Traceback (most recent call last):
  File "./sample.py", line 10, in <module>
    import freeling
  File "/home/matias/Programas/Tools/freeling/freeling-3.1/APIs/python/freeling.py", line 26, in <module>
    _freeling = swig_import_helper()
  File "/home/matias/Programas/Tools/freeling/freeling-3.1/APIs/python/freeling.py", line 22, in swig_import_helper
    _mod = imp.load_module('_freeling', fp, pathname, description)
  File "/usr/lib/python3.3/imp.py", line 188, in load_module
    return load_dynamic(name, filename, file)
ImportError: /usr/local/lib/libfreeling-3.1.so: undefined symbol: _ZN5boost6system15system_categoryEv

奇怪的是,java文件在编译时没有出现错误。

当我安装Freeling时,我得到了以下错误:

代码语言:javascript
复制
 /bin/bash ../../libtool --tag=CXX   --mode=link g++ -O3 -Wall   -L../../src/libfreeling  -o dicc2phon corrector/dicc2phon-dicc2phon.o -lfreeling -lboost_regex    -lz 
libtool: link: g++ -O3 -Wall -o .libs/dicc2phon corrector/dicc2phon-dicc2phon.o  -L../../src/libfreeling /home/matias/Programas/Tools/freeling/freeling-3.1/src/libfreeling/.libs/libfreeling.so -lboost_regex -lz
corrector/dicc2phon-dicc2phon.o: In function `_GLOBAL__sub_I_main':
dicc2phon.cc:(.text.startup+0x23): undefined reference to `boost::system::generic_category()'
dicc2phon.cc:(.text.startup+0x2f): undefined reference to `boost::system::generic_category()'
dicc2phon.cc:(.text.startup+0x3b): undefined reference to `boost::system::system_category()'
collect2: error: ld returned 1 exit status

但是,当我调用analyze命令时,它工作得非常好。

我正在使用libboost1.53,我试图安装另一个版本,但一直收到未解决的依赖项和损坏的包的错误,因此我无法尝试任何其他版本。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-19 06:51:53

您缺少针对: libboost_system.a (或libboost_system.so)的链接,因此Makefile规则(用于链接)的末尾应该包含以下内容:-lboost_system (这应该已经在g++的搜索路径中。

票数 32
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20057127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档