Comment 2 for bug 345176

Revision history for this message
Nathaniel Gray (n8gray-n8gray) wrote : Re: [Bug 345176] Re: Python scripts/extensions broken on Mac OS X Leopard Leopard

Hi Keith,

That's a good question, and I'm afraid I don't entirely remember the
answer. I think there's a python script somewhere in inkscape that
produces that message in response to an exception and I modified it to
print the exception instead.

Cheers,
-n8 (formerly of caltech.edu, BTW :-)

On Mon, Aug 3, 2009 at 10:23 PM, manifold<email address hidden> wrote:
> I'm running Inkscape 0.47 on a Macbook with OS X 10.5.7 and Nathaniel's
> instructions helped.  I'm now able to execute the built-in extensions
> for Inkscape.  As admin on my machine I did:
>
>> cd /Applications/Inkscape.app/Contents/Resources/lib
> lib> ln -s /usr/lib/libexslt.0.dylib .
> lib> ln -s /usr/lib/libexslt.dylib .
> lib> ln -s /usr/lib/libexslt.la .
>
> and that did the trick.  I would never have figured this out without
> your help.  Thanks Nathaniel.  Btw, how did you get access to the
> "actual" exception?
>
> Thanks,
> Keith
>
> --
> Python scripts/extensions broken on Mac OS X Leopard Leopard
> https://bugs.launchpad.net/bugs/345176
> You received this bug notification because you are a direct subscriber
> of the bug.
>
> Status in Inkscape: A Vector Drawing Tool: New
>
> Bug description:
> I'm using the standard Inkscape 0.46 Leopard download and OS X 10.5.6 Intel with the stock Python install.  There are two problems I'm seeing.
>
> First, if I choose the View->Scripts... menu item I get this message in the script pane:
>
> # This is where you could type a script.
> # However, no scripting languages have been compiled
> # into Inkscape, so this window has no functionality.
> # When compiling Inkscape, run "configure" with
> # "--with-python" and/or "--with-perl".
>
> This is obviously not desirable.
>
> The second problem is a conflict with a MacPorts installation.  Python-based extensions that use the inkex module can fail with this (misleading) 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 *actual* exception instead of the canned message gives:
>
> dlopen(/Applications/Applications/Graphics/Inkscape.app/Contents/Resources/python/site-packages/i386/2.5/lxml/etree.so, 2): Library not loaded: /opt/local/lib/libxml2.2.dylib
>  Referenced from: /opt/local/lib/libexslt.0.dylib
>  Reason: Incompatible library version: libexslt.0.dylib requires version 10.0.0 or later, but libxml2.2.dylib provides version 9.0.0
>
> My guess is what's happening is that libexslt.0.dylib is being loaded from /opt/local/lib (since it's not shipped with Inkscape) and it in turn tries to load libxml2.2.dylib from the same place, instead of loading the one shipped with Inkscape.  However, that version of libxml is too old so we get the error.
>
> To fix the error you should probably ship libexslt with Inkscape.  As a workaround until you update your packages users can do:
>
> cd /Applications/Inkscape.app/Contents/Resources/lib
> ln -s /usr/libexslt*.dylib .
>

--
http://n8gray.org