On Mon, 15 Dec 2003, Andreas wrote: > I just recompiled cyrus-imapd-2.1.16 and cyrus-sasl-2.1.15 with BDB 4.2 > support and it seems to be working. Email is working, delivery, mail clients > ok, etc. > > There is a small odd thing, though. /var/lib/imap/db seems to still be at > BDB 4.1, while the rest is at 4.2 (/var/lib/imap/mailboxes.db, for example): > > pandora [/var/lib/imap] > db4.2_archive -al > /var/lib/imap/log.0000000001 > > pandora [/var/lib/imap/db] > db4.2_archive -al > db_archive: Program version 4.2 doesn't match environment version > db_archive: Ignoring log file: log.0000000001: unreadable log version 7 > /var/lib/imap/db/log.0000000001 > /var/lib/imap/db/log.0000000002 > > > db_archive from BDB 4.1 works in /var/lib/imap/db: > > pandora [/var/lib/imap/db] > db4.1_archive -al > /var/lib/imap/db/log.0000000001 > > pandora [/var/lib/imap/db] > db4.1_archive -as > /var/lib/imap/deliver.db > /var/lib/imap/mailboxes.db > > > And does not work in /var/lib/imap: > > pandora [/var/lib/imap] > db4.1_archive -al > db_archive: Ignoring log file: log.0000000001: unsupported log version 8 > db_archive: Invalid log file: log.0000000001: Invalid argument > db_archive: PANIC: Invalid argument > db_archive: PANIC: DB_RUNRECOVERY: Fatal error, run database recovery > db_archive: open: DB_RUNRECOVERY: Fatal error, run database recovery > > > I know the transaction log file format has changed, so db_archive from 4.1 > shouldn't work, that's ok. What bothers me is that the database environment > in /var/lib/imap/db is still at BDB 4.1. Even after archiving all the log files > and shutting the server down (so that /var/lib/imap/db is empty), when I start > it up again it's again at BDB 4.1. Any hints? Should it work, am I doing something > wrong? I already ran db_recover (from 4.1 and 4.2, didn't seem to help). >
You needed to run db_recover-4.1 from /var/lib/imap/db/ before you started the newly compiled cyrus-imapd. Otherwise, dump mailbox list file (ctl_mboxlist -d), delete other berkeley dbs (deliver, tls_sessions and annotations). Then re-create mboxlist (ctl_mboxlist -u) and restart the server. I ran db_recover-4.1 before the upgrade and had no problems. Double check for other dependencies of db-4.1 that possibly made it to cyrus-imapd|sasl (like heimdal if you use it). -- Igor