At 06:40 AM 3/30/2004, Jehan PROCACCIA wrote:
Quanah Gibson-Mount a écrit :
See ITS#3035 -- It is agreed that the 2.2.7 solution doesn't work either, and a new fix has been suggested.
http://www.openldap.org/its/index.cgi/Build?id=3035;selectid=3035;statetype=-1
OK, I've followed and tryed to understand that long ITS thread, I realize now that this soname issue is essential .
I just RPM packaged 2.2.8 and although library name changed ( due to -release + -version-info now), I still get a Failed dependencies on liblber.so.2 and libldap.so.2.
Good.
So does 2.2.X as a minor release compare to 2.1.X
While we often refer to a point release as a "minor" release,
they often include major functional changes. Other projects
may increase the major number upon such changes, we however
only change the major number when major architectural or
sweeping changes are made. For instance, going from an LDAPv2
core functionality (as in 1.x) to LDAPv3 core functionality
(as in 2.x).
means an incompatible API (ABI ? not sure of what is an ABI :-( ),
API - application programming interface
ABI - application binary interface
You can think of the API as being defined in <ldap.h> and the
ABI being defined as the linker's interface. In both cases,
the interface is not just syntax, but also semantics associated
with the syntax.
so that it would be very bad to link (ln -s) /usr/lib/liblber-2.2.so.7.0.1 to /usr/lib/liblber.so.2 ?
It certainly would not be all that wise.
if this is the preconize solution, should this be done by packager or it should be in the build process from openldap-2.2.8.tgz sources ?
After all , what do you suggest ?
Personnel, you should leave setting of API and ABI versioning
to the developers. That is, to "make install".
By the way, does liblber.so.2.0.124 means that this library dates from openldap 2.0.X ?
No. Library interface versioning numbers do not necessarily
have any relationship to software version numbers. Certainly
you should not rely on there being any relationship.
Kurt