2016-03-20 7 views
0

Ich versuche Python-Code zu schreiben, um Xerox FST-Dateien zu manipulieren, und ich habe die Python-Bindungen für libxfsm und die XFSM-Bibliothek über http://fsmbook.com installiert. Ich benutze 64-Bit Ubuntu. Die Installation geht in Ordnung, aber wenn ich versuche, das XFSM Modul zu importieren, ich diesen Fehler:Python kann libc beim Importieren von xfsm Modul nicht laden

>>> 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. 

den Quellcode für die Python-Schnittstelle Inspizieren, es sieht aus wie es versucht und versagt libc zu finden, und andernfalls aber ich weiß nicht, wie ich das beheben kann.

Hat jemand anderes die Python-XFST-Schnittstelle funktioniert, oder haben Sie eine Idee, was schief läuft und wie Sie es beheben können?

Antwort

1

Ich hatte das gleiche Problem auf 64-Bit Ubuntu 14.04. Das Problem ist, dass es libc nicht finden kann. In meinem Fall libc auf meinem Betriebssystem ist Name libc.so.6 (Ich weiß nicht warum, ich bin neu auf Ubuntu). Aber der Python-XFST erkennt sie nicht (Detail Ihrer zu Quelldatei verweisen)

Meine Lösung ist einfach, einfach modifizieren XFSM/utils.py Datei in

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

zu

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

Denken Sie daran, den Pfad zu libc.so.6 in env hinzuzufügen.