symbol versioning of private libraries builds

tridge at tridge at
Thu Dec 9 18:29:08 MST 2010

Hi Metze,

I don't think this is correct.

Imagine the situation where an application, such as openchange, uses
system talloc, but also uses ldb, which happens to use a private
library version of talloc.

By using the same symbol versions in both libraries, we ensure that we
don't instantiate two versions of those symbols. With your proposed
patch it would be possible for the application to mix versions of
talloc. That could lead to nasty crashes.

So I think we very much want to use the same symbol versions in both.

Cheers, Tridge

 > can you take a look at the 2 top commits in this branch
 > Without them the private (bundled) libraries would provide symbols
 > in their public namespace which would conflict with installed
 > system libraries.
 > The change to preifx the namespace with PRIVATE_, prevents using the public
 > namespace of ldb e.g. LDB_0.9.20 for the bundled tevent, tdb and talloc
 > libraries.

More information about the samba-technical mailing list