[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: totally confused by versioning system of libtool...

From: Bill Northcott
Subject: Re: totally confused by versioning system of libtool...
Date: Sun, 15 May 2005 23:35:55 +1000

On 15/05/2005, at 10:06 PM, Peter O'Gorman wrote:
Possibly, the last line could equally be:
install_name libfoo.2.dylib compatibility_version 3.0.0 current_version 3.2.15
That would have the same effect on Darwin, if applied consistently.

The encoded current_version is for informational purposes only, nothing uses it, compatibility_version is used by dyld (darwin's dynamic linker) when loading libraries. It checks that the library version it loaded has a compatibility_version greater than or equal to the one it saw when it was created by the static linker.

The example is interesting. Thanks. I tried a few more variations on the theme.

Compatibility_version works as you say.

However, it still seems to me that current version is not irrelevant. Although it is not checked by dyld, according to the Apple docs both library and client can check it at runtime for compatibility, presence of features etc. So it still seems to me that it should be meaningful.

Also and more to the point, the compatibility version in the libfoo example should still be 3.0.0 not 5.0.0. Surely compatibility_version 5.0.0 implies a libtool version like 4.0.0 or 6.12.2, rather than 4.15.2? Or am I still misunderstanding libtool version, which was where we came in?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]