[Qgis-developer] Build plugins for use with Mac binary

William Kyngesburye woklist at kyngchaos.com
Wed Jan 21 10:11:39 EST 2009


On Jan 21, 2009, at 8:09 AM, Peter Ersts wrote:

> I am using the frameworks from the kyngchaos site. I can build QGIS  
> ( using Branches/Release-1_0_0 ) just fine and the plugin works just  
> fine for my own build of QGIS.
>
> I have attached an otool dump of the v1.0.0 distribution's north  
> arrow plugin and my packaged plugin for reference. The only things  
> that jump out at me are :
> libnortharrowplugin.so:
>   @executable_path/lib/libqgis_core.1.0.dylib (compatibility version  
> 0.0.0, current version 0.0.0)
>   @executable_path/lib/libqgis_gui.1.0.dylib (compatibility version  
> 0.0.0, current version 0.0.0)
>   @executable_path/lib/libgeos_c.1.dylib (compatibility version  
> 6.0.0, current version 6.2.0)
>
> vs.
>
> libevis.so:
>   @executable_path/lib/libqgis_core.1.0.dylib (compatibility version  
> 1.0.0, current version 1.0.0)
>   @executable_path/lib/libqgis_gui.1.0.dylib (compatibility version  
> 1.0.0, current version 1.0.0)
>   @executable_path/lib/libgeos_c.1.dylib (compatibility version  
> 4.0.0, current version 4.0.3)
>
It looks like maybe something went wrong in Tom's 1.0 compilation so  
that it dropped the version numbers.  So there is a version mismatch  
between your plugin and Qgis.

Also, you say you are using my frameworks - GEOS and GDAL, it looks  
like?  Then are you using install_name_tool to change the library  
references in your plugin?  Same problem, though backwards.  I build  
my GEOS framework with the C++ and C APIs combined, thus they can't  
have the two different version numbers, so I use an arbitrary  
numbering system.  I *think* Apple's runtime linker compatibility  
versioning doesn't operate at all across major versions, forwards *or*  
backwards (at least, I've had problems in the past trying to do so).

>
> In the past I have problem when the QT libs did not match exactly.  
> Any suggestions?
>
Well, since you're using my frameworks to build your plugin, and your  
own Qgis, try it out on my Qgis 1.0?  No need to change the library  
paths for GEOS or GDAL.

If you just want to make sure it will work on distributed Qgis  
binaries, Tom may have to try rebuilding to get those version numbers  
in there.

-----
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




More information about the Qgis-developer mailing list