[Qgis-developer] Build plugins for use with Mac binary
William Kyngesburye
woklist at kyngchaos.com
Wed Jan 21 12:30:52 EST 2009
On Jan 21, 2009, at 10:01 AM, Peter Ersts wrote:
> Howdy William. Thanks for the quick response.
>
> William Kyngesburye wrote:
>> 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.
> Yes, just downloaded your frameworks again today and yes I am using
> install_name_tool to change the reference to match the QGIS binary
> distribution.
>
>> 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).
> I don't think it does and I want to say that that is the same across
> minor numbers as well. When I first started trying to compiled for
> OSX I my QT version was one minor version number different (newer)
> and the plugin would not load. Once I changed Qt versions it loaded
> up just fine.
>
Yes, minor and point version number changes should not cause
problems. So, if you compile to a library with ver 2.1.0 +
compatibility ver 2.0.0, then at runtime it finds a ver 2.1.1, or
2.2.0, and probably 2.0.0, it will work. It won't work at runtime
with a ver 1.1.0, or with a ver 3.0.0 - the major versions are
different. Minor.point compatibility versions are a minimum, major
compat versions are absolute.
>> 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.
> I tried the version from your site Qgis 1.0.0-1 for Leopard. It
> immediately crashed at first. Seems that the GDAL 1.6 framework
> requires postgres, though it is not listed as a dependency. Once I
> installed the postgres framework qgis loaded but when I add my
> plugin it crashes again
>
Argh! I'm working on a better build environment for my GDAL
framework. The postgres lib link should be in my post-processing. I
got this right for the Leopard build, but missed it in the Tiger
build. (so it sounds like you are on Tiger?)
I'll package a new GDAL framework later today.
> There is still a different in the GEOS version numbers. The north
> arrow plugin shows GOES lib compatability version 4.0.0, current
> version 4.1.0, when I build with your GOES framework
> ( GOES_Framework-3.0.3-1.dmg ) that is online, I get compatability
> version 4.0.0, current version 4.0.3
>
um, what's this then, from your first email:
> libnortharrowplugin.so:
> @executable_path/lib/libgeos_c.1.dylib (compatibility version
> 6.0.0, current version 6.2.0)
>
-----
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-developer
mailing list