[Qgis-user] Mac OS X: QGIS 1.0 Preview 2 Crashes

William Kyngesburye woklist at kyngchaos.com
Thu Nov 13 18:35:55 PST 2008


On Nov 13, 2008, at 7:55 PM, Dan Dittmann wrote:

> 11/13/08 7:43:08 PM [0x0-0x1f01f].org.qgis.qgis[273] Warning:  
> Object::connect:  (receiver name: 'QgsComposerBase')
> 11/13/08 7:43:08 PM [0x0-0x1f01f].org.qgis.qgis[273] Fatal Python  
> error: Interpreter not initialized (version mismatch?)
>
> The last message indicated the possibility of a problem relating to  
> Python. A few months ago, I had updated to python.org's version and  
> been using that rather than the system default. On that thought, I  
> first updated to version 2.6 -- no change. I then tried the system  
> default. To accomplish this, I removed the nonsystem version from my  
> path, then restarted the system. After restart, my path checked out  
> as expected and running which python showed me /usr/bin/python.  
> Doing so however made no difference as QGIS still crashed with the  
> same console messages.
>
On OSX Qgis is very particular about which Python is used at runtime.   
Unfortunately, PyQt/SIP, and the Qgis python libraries, link directly  
to the Python framework binary, so only that Python binary can be used  
to load the Qgis python bindings.

Unlike other systems, on OSX a proper plugin/extension links in a  
different way to its parent than normal dynamic libraries - there is  
no direct link to the parent binary.  It expects to be loaded by that  
parent, and thus find all the functions it needs from the parent.

This makes it simple to to move the parent around (ie Python, Apache,  
PHP) or use different builds (but same version) of the parent (ie  
Apple Python 2.5 vs python.org Python 2.5).

How this affects Qgis/python: say Qgis is built with the Apple Python  
(like my Leopard Qgis), but you have the python.org python (2.5 or  
2.6) in your shell PATH.  Qgis starts up python, and finds  
python.org's python.  But the Qgis python binary parts link to the  
system python - total binary confusion, even though they may be the  
same version, and Qgis crashes.

So, installing Python 2.6 will cause trouble, if Qgis was built with  
either the system python or python.org python 2.5.  If Qgis was built  
with the python.org python 2.5, removing it will cause trouble also.

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.

> Does anyone have any thoughts as to what else I should look at?
>
If Qgis crashed, look in Console.app for the crashlog.  If it's just  
quitting with no crash, turning on Qgis debugging may help find the  
problem (sorry, I don't remember how to do that).

> My set up is on Mac OS 10.5.5 + all security updates. The system  
> version of python is 2.5.1. In addition, I have trashed the pref  
> file as well as moved ~/.qgis temporarily to a different directory.
>

Which Qgis are you using - mine (framework-based) or Tom's all-in-one?

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

"History is an illusion caused by the passage of time, and time is an  
illusion caused by the passage of history."

- Hitchhiker's Guide to the Galaxy





More information about the Qgis-user mailing list