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



_______________________________________________
http://lists.gnu.org/mailman/listinfo/libtool

Reply via email to