Description of problem: Cyrus-imapd in rawhide needs to be rebuilt against the new snmp package. It's the only thing on my system that hasn't been rebuilt.
This won't rebuild without patching because the current berkley db no longer supports the deprecated DB_ENV set_lk_max function which is referenced in cyrusdb_berkeley.c I assume the rpm is still based on Simon Matters rpm and his latest is 2.3.7-8, it does not look like Simon has patched source yet for set_lk_max in his latest rpm. A good guide to the berkley DB changes can be found here: http://www.oracle.com/technology/documentation/berkeley-db/db/ref/lock/max.html I also noticed that Petr Rockai was the last one to import from upstream and he made changes I'm not familar with. I'm going to reassign to Petr since he is most familar with the current rpm and let his address how he wants to patch the package for rebuilding.
I got two private emails from Oliver Falk which relate to this bugzilla. I'm going to include them here in the hope they may be helpful. Hi John! Just wanted to let you know about this. I have my own package for cyrus-imapd, but it very similar to the one you maintain - for FC extras/core. However. My package compiles fine with the changes from the forwarded mail (it doesn't apply directly, but if you change it manually you can gendiff it...). I'm not quite sure what will happen with the old 4.3 cyrus databases or if it will crash the mailserver; We'll find out both I guess. :-) Now my mail get's confusing... Just ldd-ed the binaries; They are build against 4.3, cmulocal/berkdb.m4 doesn't know about 4.5 yet. :-) Usually a bad idea building with headers from 4.3 and linking against 4.5 :-/ Patch: --- cyrus-imapd-2.3.7/cmulocal/berkdb.m4.db4.5 2006-12-14 12:59:53.000000000 +0100 +++ cyrus-imapd-2.3.7/cmulocal/berkdb.m4 2006-12-14 12:59:59.000000000 +0100 @@ -213,7 +213,7 @@ fi saved_LIBS=$LIBS - for dbname in db-4.4 db4.4 db44 db-4.3 db4.3 db43 db-4.2 db4.2 db42 db-4.1 db4.1 db41 db-4.0 db4.0 db-4 db40 db4 db-3.3 db3.3 db33 db-3.2 db3.2 db32 db-3.1 db3.1 db31 db-3 db30 db3 db + for dbname in db-4.5 db4.5 db45 db-4.4 db4.4 db44 db-4.3 db4.3 db43 db-4.2 db4.2 db42 db-4.1 db4.1 db41 db-4.0 db4.0 db-4 db40 db4 db-3.3 db3.3 db33 db-3.2 db3.2 db32 db-3.1 db3.1 db31 db-3 db30 db3 db do LIBS="$saved_LIBS -l$dbname" AC_TRY_LINK([#include <db.h>], Best regards, Oliver Falk of -------- Original-Nachricht -------- Betreff: Re: Installtion error - cyrusdb_berkeley structure has no member named `set_lk_max' Datum: Tue, 12 Dec 2006 14:06:05 -0500 Von: Chaskiel M Grundman <cg2v.edu> An: info-cyrus.cmu.edu Referenzen: <aa0026c80612120042p681f027fu40a3d38da95fdd1c.com> --On Tuesday, December 12, 2006 02:12:41 PM +0530 Pubudu Premachandra <npubudu> wrote: > cyrusdb_berkeley.c:176: error: structure has no member named `set_lk_max' set_lk_max has been deprecated since DB 4.0. I guess it was finally removed. The following patch may be used to work around this: --- lib/cyrusdb_berkeley.c 2006-08-01 15:34:18.000000000 -0400 +++ /tmp/cyrusdb_berkeley.c 2006-12-12 14:04:00.000000000 -0500 @@ -174,7 +174,15 @@ syslog(LOG_WARNING, "DBERROR: invalid berkeley_locks_max value, using internal default"); } else { +#if DB_VERSION_MAJOR >= 4 + r = dbenv->set_lk_max_locks(dbenv, opt); + if (!r) + r = dbenv->set_lk_max_lockers(dbenv, opt); + if (!r) + r = dbenv->set_lk_max_objects(dbenv, opt); +#else r = dbenv->set_lk_max(dbenv, opt); +#endif if (r) { dbenv->err(dbenv, r, "set_lk_max"); syslog(LOG_ERR, "DBERROR: set_lk_max(): %s", db_strerror(r)); Or you can downgrade to DB 4.3 (I don't know if 4.4 will work or not) ---------------------------- I would also suggest the following: --- /home/oliver/cvs/Fedora/extras.public/cyrus-imapd/cyrus-imapd.spec 2006-12-14 12:45:54.000000000 +0100 +++ cyrus-imapd.spec 2006-12-14 13:02:35.000000000 +0100 @@ -300,7 +288,7 @@ --enable-idled \ %endif %if %{_withldap} - --with-ldap \ + --with-ldap=%{_usr} \ It else spots a warning: ./configure: line 12123: yes=/usr/local: No such file or directory Maybe we can ignore, but maybe not... Not sure...
Ping.
I applied the patches, seems ok. Built, waiting for sign.
Sorry to be so late in replying. I've been running the updates for a couple of days and everything seems OK.