BerkeleyDB 6 symbol versioning and associated problems

Jan Staněk jstanek at redhat.com
Wed May 7 13:19:42 UTC 2014


One of the planned parts of the F21 System Wide Change: BerkeleyDB 6 [1]
is the introduction of downstream symbol versioning of both versions of
the libraries (libdb with v6 and libdb5 with v5). This part is planned
in order to not introduce bugs similar to [2]. However, if we introduce
downstream versioning (as upstream is generally unresponsive), then we
face the problem similar to [3].

In short, if we introduce the downstream versioning, we will ship
library with ABI incompatible with upstream ABI. If we won't,
applications with modules/plugins (ie. Apache with mod_perl) that each
use different version of the library may break due to double symbols
(one from the v5 and other from v6, and ld would not know which symbol
is which).

I'd like to ask for suggestions on how to resolve this problem.

The ideal solution would be to convince upstream to version their
symbols (and I will contact them about it), but from my experience with
them this is very unlikely. Or we could try to keep an eye on
troublesome applications and force them and all their modules/plugins to
be built with the same version of libdb, but I have no idea if this is
even possible.

As I stated above, I welcome any suggestions. I would also like to hear
from someone responsible for the distro architecture which of the
aforementioned issues is more painful for us, so we know which path to
take if no complete solution is found.

Best regards and thanks for replies,
Jan

[1] https://fedoraproject.org/wiki/Changes/BerkeleyDB_6
[2] https://bugzilla.redhat.com/show_bug.cgi?id=768846
[3] https://bugzilla.redhat.com/show_bug.cgi?id=1045013
-- 
Jan Stanek - Red Hat Associate Developer Engineer - Databases Team


More information about the devel mailing list