How to use PROPERTIES VERSION and SOVERSION?

Thiago Macieira thiago at kde.org
Fri Apr 11 15:36:57 CEST 2008


On Friday 11 April 2008 15:42:01 Friedrich W. H. Kossebau wrote:
> Ah, so that is also the reason for those (for me) strange current and age
> parameters of libtool.

Yeah. Libtool takes three numbers: Current, Revision, and Age.

Current is what I described. Age is Current-Minimum. As for Revision, it's 
just an incrementing number describing forwards- and backwards-compatible 
bugfix releases (like Qt's patch-level releases).

When creating ELF objects, libtool calculates the soversion as Current-Age.

> > What it supports is the concept of "SONAME". It means that, if the name
> > matches, it should be usable. The idea is that *future* versions of that
> > library will be compatible with the one you have now. But that doesn't
> > mean your application will work with older versions.
>
> ... but instead might yield Symbol lookup errors.
>
> So the assumption seems to be: if the developer (and binary creator) has
> had access to the latest compatible version of the library, the user has
> had already, too, and of course uses it? Hm.
> Okay, taken. And then there is packet management, caring for such
> dependencies ;)

This works well in a source-based environment:

if you managed to compile and link the application, as long as you don't 
*downgrade* anything, it should continue to work. That way, you can upgrade 
any portion of the software without fear of breaking dependencies.

For binary packages, that care has to be taken by the packager. If he compiles 
a given application with libFoo version N, he should add to his list of 
dependencies:
	libFoo >= N

-- 
  Thiago Macieira  -  thiago (AT) macieira.info - thiago (AT) kde.org
    PGP/GPG: 0x6EF45358; fingerprint:
    E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/kde-buildsystem/attachments/20080411/4058ed30/attachment.pgp 


More information about the Kde-buildsystem mailing list