On Thu, 2008-07-03 at 11:18 +0200, Pierre Schmitz wrote:
Am Donnerstag, 3. Juli 2008 08:35:57 schrieb Jan de Groot:
Why would that one have a dependency on db? If so, that's a bug. evolution-data-server links to db 4.1
Do we really need db-4.7, db4.1 and db4.5? And btw: Does anybody know a way to build against a special version of db? For example php seems to be linked against the lower version of db when installed.
The point of evolution-data-server is that it is shipped with db 4.1 and all data is stored with that DB format. As evolution doesn't come with a conversion tool for db updates, I don't like to build evolution-data-server against a newer version of db. The reason why this package is linked against a dynamic install of db 4.1 is that it's much more efficient. When linking static against the included version, the included DB library will get loaded into memory 3 or 4 times when running evolution. When using a shared copy, db is only loaded once. The problem with php detecting db 4.1 is because of features in configure scripts. These scripts scan versioned db files (libdb-4.1.so) and if none of the specified versioned files is found, the generic libdb.so is used. This means that when scanning for libdb-4.5 to libdb-4.0 to libdb, the libdb-4.1.so file is found before libdb.so is found, and libdb-4.7.so wasn't detected at all. Patching these scripts to support 4.7 too is the solution for this issue. As for db-4.5: there's a small set of packages that don't work with newer versions of db. One example of this is OpenLDAP, where the last recommended version was 4.5 (it's also the only example). I don't know if this openldap problem has been fixed in the 2.4 series though, but 2.3 didn't support it.