Henrique de Moraes Holschuh hmh at
Thu Sep 23 00:48:12 EDT 2010

On Thu, 23 Sep 2010, Shuvam Misra wrote:
> > > .... given the issues with BDB.  Is it worth embedding a copy of
> > > BDB into the Cyrus distribution rather than using the OS one?  I
> > 
> > That way lies madness.
> > 
> > BDB is one of those things where arcane blackmagic skills are needed to keep
> > it working on all arches.  It uses scary crap to be fast and archive high
> > performance with large concurrency, and I've seen it break OpenLDAP in very
> > nasty arch-specific ways in the past (OpenLDAP is to BDB what Cyrus is to
> > mmap() ;-) ).
> > 
> > And it will break the world if you get symbol versioning wrong.  Lots of
> > libraries (SASL *and* glibc included!) might decide to shadow-dynamic-link
> > BDB with your application, and all sort of non-funny crap can happen if the
> > wrong linker magic is applied.  You *really* don't want to go there.
> I was a strong advocate of bundling DB libraries, etc, with Cyrus. The
> points you've made here are very interesting. I didn't know many of these
> things. I'm re-thinking whether bundling is such a good idea now. Thanks.

Bundling is always a pain to get exactly right.

Bundled libs are also a security hazard.  Bundled libs *will* be disabled by
any Linux distro worth being called that, but even disabled they are not
harmless.  They will waste resources of the security teams while acessing if
an embedded copy of whatever lib needs to be updated with a security fix.

Bundling also complicate the build system.  Complicated build systems are a
VERY BAD idea on most projects, where nobody is really paying attention to

  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh

More information about the Info-cyrus mailing list