Inkscape 0.47 OSX Official - Python filters don't work (again)

Hi,
I just downloaded the official Inkscape 0.47 release for Leopard/Snow Leopard and while Inkscape itself is running absolutely fast and awesome as soon as I touch anything that runs inkex.py the age old info message about the fantasting lxml2 library wrapper comes up again. Looking into the .app bundle I was surprised to find lxml2 and numpy installations for all (!) major python version going from 2.6 back to 2.3 this time.
Hmmmm... so what could be the problem? As we all know resetting my PATH won't (and didn't) work because the bootstrap system just builds its own PATH so what gives?
Well, it turns out that this mess is caused by the default Apple X11 running in 64 bit mode and thus all the python stuff included with Inkscape 0.47 is of the wrong architecture. (at least it says that when you remove the try: blocks in inkex.py and let it spit out the real tracebacks).
So I guess we need to include python stuff with 64 bit support with the official OSX release. (I tried building a 64 bit Python 2.6.4 myself but sheesh it's hard...)
Anyway just thought I'd report this (apologies if it's known already). It's not a deal breaker - Inkscape still rocks.
André
PS: I am on OSX 10.6.2 and I have MacPorts installed but X11 is the default one. And I can see it's shown as 64-bit app when it runs in Activity Manager.

On 18/3/10 20:13, André Berg wrote:
I just downloaded the official Inkscape 0.47 release for Leopard/Snow Leopard and while Inkscape itself is running absolutely fast and awesome as soon as I touch anything that runs inkex.py the age old info message about the fantasting lxml2 library wrapper comes up again.
Bug #482993 https://bugs.launchpad.net/inkscape/+bug/482993 “Inkscape extensions do not work on MacOS X 10.6 (Snow Leopard)”
Looking into the .app bundle I was surprised to find lxml2 and numpy installations for all (!) major python version going from 2.6 back to 2.3 this time.
Hmmmm... so what could be the problem? As we all know resetting my PATH won't (and didn't) work because the bootstrap system just builds its own PATH so what gives?
Well, it turns out that this mess is caused by the default Apple X11 running in 64 bit mode and thus all the python stuff included with Inkscape 0.47 is of the wrong architecture. (at least it says that when you remove the try: blocks in inkex.py and let it spit out the real tracebacks).
I doubt it is related to the architecture of X11/Xquartz.
On most Snow Leopard systems the python binary which is launched by Inkscape in a separate process runs in 64b mode (the system default - Apple's Python 2.6 - is used as long as there are no other Python ports or packages installed), but the bundled python modules don't include site-packages with the 64bit architecture required by the _python_ binary.
So I guess we need to include python stuff with 64 bit support with the official OSX release. (I tried building a 64 bit Python 2.6.4 myself but sheesh it's hard...)
One solution could be adding an additional folder hierarchy to the package for x86_64 (currently there's ppc and i386) with the site-packages for Python 64bit as well as updating the launcher script to set PYTHONPATH according to the system arch (PPC, i386, x86_64).
But there are other issues involved too: first, we no longer use DYLD_LIBRARY_PATH. AFAIU this prevents using bundled python modules with user-installed python versions (via MacPorts). Another problem is with setting the search paths for python modules (via PYTHONPATH) to allow transparently loading of user-installed modules - bypassing those packaged with Inkscape - without having to edit the launch script. Both issues have been discussed in earlier threads here in inkscape-devel but are not yet solved.
~suv
participants (2)
-
André Berg
-
~suv