On Nov 14, 2008, at 4:41 AM, Martin Dobias wrote:

On Fri, Nov 14, 2008 at 3:35 AM, William Kyngesburye
<[EMAIL PROTECTED]> wrote:

It would be nice if PyQt/SIP and Qgis properly linked to python (I think Qgis takes its cue from SIP), then it would be easier to switch between the
system python 2.5 and python.org 2.5.

William,

do you have any ideas how to improve the situation of QGIS python
support on OS X?
I don't know much about specifics of OS X but we could tweak python
support with your assistence if you describe what's going wrong.

Martin

I think we're stuck with what we get from SIP/PyQt. SIP is, I believe, what is setting the compile flags. Even if Qgis post- processed those flags, SIP and PyQt would still be built that way.

If it's what I think it is, I see in sipconfig.py:

_default_macros = {
...
'LFLAGS_PLUGIN': '-single_module -dynamiclib',

I could try a bug report to Riverbank... but for now we'll just have to put up with it, which means making sure the right python is the default for the Qgis build run.

Short details, so you know what's going on:

A plugin, or "module" on OSX doesn't use normal library linking to a parent, or loading, binary (library or program), as -dynamiclib -lfoo (or -dynamiclib -undefined dynamic_lookup for a parent program).

Instead it links as a bundle:

-bundle -bundle_loader /path/to/foo

The -bundle_loader acts in place of the -l flag, so the linker can find the symbols in the parent, but the library or program is not actually added to the module's link list. And a bundle can't be linked to as a library.

-----
William Kyngesburye <kyngchaos*at*kyngchaos*dot*com>
http://www.kyngchaos.com/

"This is a question about the past, is it? ... How can I tell that the past isn't a fiction designed to account for the discrepancy between my immediate physical sensations and my state of mind?"

- The Ruler of the Universe


_______________________________________________
Qgis-user mailing list
Qgis-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-user

Reply via email to