Binary packages not rebuilding against updated libraries

Ryan Schmidt ryandesign at macports.org
Thu Apr 26 15:23:45 UTC 2018


On Apr 26, 2018, at 01:03, Jan Stary wrote:

> BTW, what's with the version numbers in e.g.
> otool -L /opt/local/bin/openssl:
> /opt/local/lib/libssl.45.dylib (compatibility version 46.0.0, current version 46.1.0)
> 
> libssl.45.dylib is what the vanilla tarball itself produces.
> Where exactly do the numbers 46.0.0 and 46.1.0 come from?

45, in the install_name, is the library's major version number. If the major version or any other part of the install_name changes, anything using the library must be rebuilt.

46.1.0 is the library's current minor version number. It need have no relationship to the major version number.

46.0.0 is the library's compatibility minor version number. If I have libssl.45.dylib 46.1.0 on my system and I compile a program, and I distribute it to you, and you have libssl.45.dylib 46.0.0 on your system, you can run the problem, because 46.1.0 is compatible with 46.0.0. If you have libssl.45.dylib with a compatibility version earlier than 46.0.0, you cannot run the program because your library is not compatible with mine.




More information about the macports-dev mailing list