Comment 10 for bug 482993

Revision history for this message
Ulf Adams (ulf-ofahrt) wrote : Re: [Bug 482993] Re: Inkscape extensions do not work on MacOS X 10.6 (Snow Leopard)

I didn't know about the lipo tool, but according to the lipo command,
the python 2.6 executable has x86_64, i386, and ppc7400. If it gets
executed in x86_64 mode, then loading the etree.so file for the lxml
extension must obviously fail, because it only contains the i386
extension. It shouldn't be too hard to compile the libraries in x86_64
mode and add that architecture to the files.

On Sun, Nov 29, 2009 at 7:12 PM, ~suv <email address hidden> wrote:
> credits for this tip:
>> defaults write /Library/Preferences/com.apple.versioner.python Version 2.5
> go to 'blei' who added it in a comment of the mentioned topic in the Inkscape forum:
> <http://www.inkscapeforum.com/viewtopic.php?f=29&t=3588&start=25#p18179>
>
> Personally I have not yet upgraded to Snow Leopard and can't test any of
> the reported solutions - I am limited to picking up any promising
> reports of successful workarounds that could serve as interim solution
> until the real conflict can be pin-pointed and fixed.
>
> --
> Inkscape extensions do not work on MacOS X 10.6 (Snow Leopard)
> https://bugs.launchpad.net/bugs/482993
> You received this bug notification because you are a direct subscriber
> of the bug.
>
> Status in Inkscape: A Vector Drawing Tool: Confirmed
>
> Bug description:
> After installing Inkscape 0.47 pre4, we found that extensions don't work and give the infamous lxml error message:
>
> The fantastic lxml wrapper for libxml2 is required by inkex.py and therefore this extension. Please download and install the latest version from http://cheeseshop.python.org/pypi/lxml/, or install it through your package manager by a command like: sudo apt-get install python-lxml
>
> Printing out the real exception, this was due to dlopen not working. I investigated a little bit, and it seems that lxml doesn't work with the python 2.6 shipped with Snow Leopard. The python 2.6 binary is a 'Mach-O fat file with 3 architectures', while the etree.so shipped with lxml is a 'Mach-O fat file with 2 architectures'. I suspect that the 2.6 binary is running with the x86_64 architecture, which isn't present in the etree.so library.
>
> As a workaround, I symlinked /usr/bin/python to point to python 2.5 (which is a 'Mach-O fat file with 2 architectures'), and that makes the extensions work again.
>
> I've seen a few other bug reports for extensions, but none of them seems to describe the exact problem we encountered. In particular, the workaround in bug #345176 does not work.
>