libtool
[Top][All Lists]
Advanced

[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 17:13:14 +1000

On 15/05/2005, at 12:24 PM, Peter O'Gorman wrote:
It what sense do you think 'it works fine'? How does a single libtool version string get translated into the two possibly different version strings required by MacOS X?


I don't follow what you think is wrong. Libtool's versioning system uses the CURRENT, AGE and REVISION system described in the libtool documentation.

Does reading this thread help?
<http://thread.gmane.org/gmane.comp.gnu.libtool.patches/1348>

That link was helpful, but I think incorrect. In one of the messages you have

Now lets release a new libfoo 4:0:2
Current system:
libfoo.dylib -> libfoo.2.2.0.dylib
libfoo.2.dylib -> libfoo.2.2.0.dylib
libfoo.2.2.0.dylib
install_name libfoo.2.dylib compatibility_version 5 current_version 5.0
Proposed :
libfoo.dylib -> libfoo.2.dylib
libfoo.2.dylib
same encoded information.

IMHO this should be:
Now lets release a new libfoo 4:15:2
libfoo.dylib -> libfoo.2.dylib (for the benefit of configure scripts only)
libfoo.2.dylib
install_name libfoo.2.dylib compatibility_version 3.0.0 current_version 5.0.15

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.

If you set compatibility_version to 5, which is what seems to be happening now, then something linked against the library built with libtool version 3:10:1 will fail to link at runtime, even thought the libtool version implies it is compatible.

I think your 2003 suggestion to eliminate libfoo.x.x.x.dylib is correct. Creating that just results in unnecessary duplication.

Bill Northcott





reply via email to

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