On 16Dec2020 18:51, Chris Green <c...@isbd.net> wrote: >The specific problem that finally prevented me from managing to get it >to work was a (Linux) .so file that had been built for Python 2 and, >as I don't have the source, I can't build for Python 3.
ChrisA I think suggested keeping a Python 2.7 install around for this. >I need to have another go at fixing this as otherwise the code that I >need to manage my printer will stop working as I update my Ubuntu >systems. Have you considered keeping a legacy VM around as well? I have a few VMs sitting here I use for some legacy software. Have you checked an upgraded Ubuntu to failure to run your software using Python 2? Python 2 won't be installed by default, but I'm pretty sure you can add it in. It is just the "system Python" which is moving to Python 3. Also, make note of the specific Python 2 version where your software works - the CPython API does change somewhat sometimes. >The specific error I'm getting is as follows:- > File "/usr/libexec/okimfputl.new/guicom.py", line 66, in <module> import > pyscand > ImportError: /usr/libexec/okimfpdrv/pyscand.so: undefined symbol: > _Py_ZeroStruct Guessing from the library name, have you looked on the OKI.com site for current software? Maybe here? What's your printer model? https://www.oki.com/au/printing/support/drivers-and-utilities/index.html Not that I've found anything helpful... What Ubuntu package supplies that .so file? >Is there *any* other way around this, like a 'compatibility module' to >use Python 2 .so files in Python 3 or anything like it? I have all >the Python code and have (up to hitting this problem) converted it to >Python 3. Almost certainly not. I think ChrisA's Python 2 suggestion is the go here. You may need to manually copy the requisite .so files if the package is about to vanish. Cheers, Cameron Simpson <c...@cskk.id.au> -- https://mail.python.org/mailman/listinfo/python-list