How to diagnose import error when importing from .so file?
Christian Heimes
christian at python.org
Wed Jul 29 16:24:15 EDT 2020
On 29/07/2020 15.34, Chris Green wrote:
> I have some Python Gtk 2 code I'm trying to convert to Python
> pygobject GTK 3.
>
> However I'm stuck on an import statement that fails:-
>
> import pyscand
>
>
> The error message is:-
>
> File "/usr/libexec/okimfputl.new/guicom.py", line 66, in <module>
> import pyscand
> ImportError: /usr/libexec/okimfpdrv/pyscand.so: undefined symbol: _Py_ZeroStruct
>
> pyscand is a .so file so I fear I may be a bit stuffed unless I can
> find the source code for it. However any other ideas would be most
> welcome.
>
> In fact looking for this error it seems that is is a Python version
> mismatch error and I need to recompile pyscand.so against Python 3. Is
> there no way to sort of convert it to Python 3 without having the
> source?
You are right. The extension module is compiled for Python 2.
_Py_ZeroStruct is only available in Python 2. You need the C code for
the extension module. and possibly even modify the C code to make the
extension work with Python 3.
Christian
More information about the Python-list
mailing list