[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: LDAP in deltasyncrepl method

Howard Chu <hyc@symas.com> writes:
> Russ Allbery wrote:

>> It would be very nice if the OpenLDAP libraries supported and used
>> symbol versioning to make this somewhat more robust.

> symbol versioning isn't a portable or universal concept.

True, you need Autoconf logic to only use it where available.

> The entire issue is outside our scope anyway, since it's a packaging
> matter.

Hm, well, that's contrary to the stance taken by most other library
maintainers.  Symbol versioning is generally the responsibility of the
maintainer of the library since they're in full possession of information
about the expected public ABI.  For example, both MIT Kerberos and Heimdal
use symbol versioning in their libraries and maintain it as part of the

Among other things, maintaining the symbol versioning as part of the
OpenLDAP library build process means a consistent ABI across different
Linux distributions, whereas treating it as a packaging matter and having
distribution packagers introduce symbol versioning independently (which I
assume is what you mean by a packaging matter -- maybe I'm confused?)
doesn't provide that guarantee.

Symbol versioning is particularly useful for OpenLDAP since the OpenLDAP
libraries have regular SONAME changes (one for every major release), which
means that having two versions of the library around temporarily during
transitions and upgrades is common.  It's also very useful given the
recommendation to not use the distribution packages, since it lets two
different OpenLDAP libraries coexist on the system safely even if (through
dynamic loading or plugins) both are loaded into the same process
namespace.  As more libraries and programs support plugins and dependency
chains get longer and more complicated, it's increasingly tricky to avoid
that entirely.

Russ Allbery (rra@stanford.edu)             <http://www.eyrie.org/~eagle/>