Full_Name: Russ Allbery Version: 2.4.7 OS: Debian GNU/Linux URL: Submission from: (NULL) (171.66.157.14) One of the challenges of handling core system libraries like OpenLDAP in the context of a packaged distribution is handling library transitions when the SONAME of the library changes (such as between 2.3 and 2.4, and presumably between 2.4 and 2.5). It's rarely possible to rebuild every package at the same time against the newer libraries (particularly since there are dependency chains that often require one package go first before another can be rebuilt), let alone all of the user software that's outside the space managed by the distribution. Because of that, both the old and new library usually have to co-exist for at least a brief period on many systems, with some binaries linked against the old version and some against the new version, until the upgrade is complete. This is, fundamentally, the problem of the distribution and not the problem of the OpenLDAP team. However, one thing that, from a distributor perspective, helps considerably with transitions like this is if the upstream library distributor uses symbol versioning on those platforms that support it (primarily Linux and Solaris, and possibly -- I have no personal experience -- the *BSDs). If symbol versioning is used for the libraries, the 2.3 and 2.4 libraries can be loaded into the same namespace and won't conflict with each other, since the programs and other libraries will bind to the version against which they were compiled. So, basically, this is a feature request: would it be possible to add symbol versioning to the libldap and libber libraries? Very simple symbol versioning (just assigning one version to all public symbols) would be sufficient to make these sorts of transitions much easier. I'm happy to help provide information and Makefile glue to do this if it's desirable; I've done it in a portable way with several other libraries in packages I maintain. Please feel free to tell me I should move this to a post to openldap-technical or somewhere else; I know it's sort of borderline between an ITS and a library usage discussion.
moved from Incoming to Software Enhancements
moved from Software Enhancements to Incoming
changed notes
also see #7139
Since we're about to release a new version and I think we're bumping ABI again, we should really get this in.
Sent an email to Steve on 3/1/2021 to see if he'd be willing to contribute Debian's patch.
HowTo docs here https://www.netfort.gr.jp/~dancer/column/libpkg-guide/libpkg-guide.html#symbolversioning
Commits: • 38d1ac04 by Quanah Gibson-Mount at 2021-03-29T18:11:00+00:00 ITS#5365 - Add support for symbol versioning libldap and lilber