Comment 2 for bug 1042597

Revision history for this message
su_v (suv-lp) wrote : Re: [inkscape-quartz] extensions fail with 'Symbol not found: _exsltDateXpathCtxtRegister'

> Maybe we should just package python2.7, numpy, and lxml altogether, and not rely
> on the version provided by OS X.

A downside of including python runtime in the application bundle is download/file size: new native GIMP.app for example has additional ~94MB just for Python 2.7 in 'Contents/lib/python-2.7' (possibly this can be reduced e.g. by omitting all *.pyc files).

An upside of including a python runtime would be better support for external extensions which use pygtk to display an additional GUI (e.g. very popluar 'sozi' and 'textext' extensions). Once the app bundle includes a python runtime, it should be easy (?) to include py-gtk modules as well. Currently support e.g. for the 'Sozi' extension to create SVG presentations with the official Inkscape.app is only doable with a hack (<https://answers.launchpad.net/inkscape/+question/179289>).

> Was there any problem with lxml being compiled for a range of python version
> and architecture, and the actual version to use determined at run time?

Mainly two (IIRC):
a) old packaging relied on $DYLD_LIBRARY_PATH instead of rewriting install names
Caused system python to load libs from the app bundle not compatible with other libs loaded from the system.
b) new OS X versions provide newer Python version:
- Snow Leopard: 32bit/64bit conflict (Python 2.6)
- Lion/Mountain Lion: missing support for newer default python version (Python 2.7)
c) implementing optional support for custom python installs
With current official package, users have to edit the launcher script inside the app bundle to use a custom python install e.g. from MacPorts.

See also:
Discussion of b) in bug #482993 (Snow Leopard) and bug #819209 (Lion).