导入xfsm模块时,Python无法加载libc

时间:2016-03-20 04:36:27

标签: python libc

我正在尝试编写Python代码来操作Xerox FST文件,我已经通过http://fsmbook.com安装了libxfsm和XFSM库的Python绑定。我正在运行64位Ubuntu。安装顺利,但是当我尝试导入xfsm模块时,我收到此错误:

>>> import xfsm
 Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/xfsm/__init__.py", line
 30, in <module>
    import xfsm.errors # So error handler gets installed
  File "/usr/local/lib/python2.7/dist-packages/xfsm/errors.py", line
 8, in <module>
    from xfsm.utils import *
  File "/usr/local/lib/python2.7/dist-packages/xfsm/utils.py", line
 39, in <module>
    libc = cfsm.load_library("c")
  File "/usr/local/lib/python2.7/dist-packages/xfsm/cfsm_api.py", line
 366, in l                 oad_library
    raise ImportError("%s not found." % libname)
 ImportError: c not found.

检查Python接口的源代码,看起来它正在尝试并且无法找到libc,并且失败了,但我对如何修复它感到茫然。

有没有人让Python-XFST界面正常工作,或者知道出了什么问题以及如何修复它?

1 个答案:

答案 0 :(得分:1)

我在 64位Ubuntu 14.04 上遇到了同样的问题。问题是找不到 libc 。在我的情况下,我操作系统上的 libc 是名称 libc.so.6 (我不知道为什么,我是Ubuntu的新手)。但是Python-XFST无法识别它(详细信息可以参考源文件)

我的解决方案很简单,只需在

中修改 xfsm / utils.py 文件
**Line 39** : libc = cfsm.load_library("c")

**Line 39** : libc = cfsm.load_library("libc.so.6")

请记住在 env 中添加 libc.so.6 的路径。