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 them. -- "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 ---- Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/