[Kde-bindings] Smoke library version numbers

Andreas Pakulat apaku at gmx.de
Sun Nov 22 00:18:10 UTC 2009


On 22.11.09 01:01:12, Arno Rehn wrote:
> On Saturday 21 November 2009 23:30:00 Richard Dale wrote:
> > We've just been having a discussion on #kdebindings about the smoke lib
> > version numbers. Pusling thinks that if we've made binary incompatible
> > changes we should raise the major version from 2 to 3. I see the versions I
> > have installed have gone up from 2.0.0 to 2.1.0, but that should mean that
> > only functionality has been added, and not that the files are BIC. So
> > really I think they shoujld be 3.0.0.
> Hm. If we had explicitly set SOVERSION to "2.0" instead of just "2" in the 
> first place, I think any binding that linked agains the old smoke wouldn't 
> load and tell us that it can't find the 2.0 version.

SOVERSION is usually only 1 number.

> But since it was only 
> "2", it won't detect any binary incompatibility, because the major version 
> number is still "2". I don't know much about this stuff, but this has been my 
> experience with other libs.
> I'm not too happy with increasing to "3.0" - that just seems a little too 
> much. But if it's the only way to get it right, then it's ok I guess.

It is the only way to tell the linker that an app that was linked to
libsmoke2 during compilation cannot be loaded with the new version of
smoke. Else people will start getting weird crashes with backtraces that
make no sense (things like QMetaObject::activate called from the
destrcutor of some totally unrelated class or similar weirdness).

However you don't need to increate to 3.0, the SOVERSION should be
increased to just 3. And the full version would be 3.0.0.

Andreas

-- 
Your supervisor is thinking about you.



More information about the Kde-bindings mailing list