Bug 218046 - Cyrus-imapd in rawhide needs to be rebuilt against new snmp package
Cyrus-imapd in rawhide needs to be rebuilt against new snmp package
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: cyrus-imapd (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Tomas Janousek
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2006-12-01 10:34 EST by Tim Vismor
Modified: 2007-11-30 17:11 EST (History)
3 users (show)

See Also:
Fixed In Version: cyrus-imapd-2.3.7-6.fc7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-01-10 07:23:34 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Tim Vismor 2006-12-01 10:34:23 EST
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.
Comment 1 John Dennis 2006-12-05 13:18:04 EST
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.
Comment 2 John Dennis 2006-12-14 10:19:14 EST
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@redhat.at

-------- 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@andrew.cmu.edu>
An: info-cyrus@lists.andrew.cmu.edu
Referenzen: <aa0026c80612120042p681f027fu40a3d38da95fdd1c@mail.gmail.com>

--On Tuesday, December 12, 2006 02:12:41 PM +0530 Pubudu Premachandra
<npubudu@gmail.com> 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...

Comment 3 Tim Vismor 2007-01-04 10:56:26 EST
Ping.
Comment 4 Tomas Janousek 2007-01-08 08:41:06 EST
I applied the patches, seems ok. Built, waiting for sign.
Comment 5 Tim Vismor 2007-01-13 13:52:20 EST
Sorry to be so late in replying. I've been running the updates for a couple of
days and everything seems OK.

Note You need to log in before you can comment on or make changes to this bug.