problem upgrading mailboxes.db with cvt_cyrusdb : can't open old database / DBERROR db4: Program version 4.4 doesn't match environment version 0.5

peter pilsl pilsl at goldfisch.at
Tue Jan 9 06:38:01 EST 2007


I'm just moving all emails from an old imap-2.0.16 to a new machine with version 2.2

I copied all files from the old machine to the new machine and followed the 
instructions at:

http://cyrusimap.web.cmu.edu/imapd/install-upgrade.html

after performing the rehash-command I try to upgrade the mailboxes.db and 
seen-files with the cvt_cyrusdb-command as recommended, but I run into a strange 
error:

as user cyrus I do:

$ /usr/sbin/cvt_cyrusdb /data/cyrus/config/mailboxes.db berkeley 
/tmp/mailboxes.db.new skiplist
Converting from /data/cyrus/config/mailboxes.db (berkeley) to 
/tmp/mailboxes.db.new (skiplist)
fatal error: can't open old database

in the logs I see:

Jan  9 12:28:28 ihf2 cyrus/cvt_cyrusdb[19760]: DBERROR db4: Program version 4.4 
doesn't match environment version 0.5
Jan  9 12:28:28 ihf2 cyrus/cvt_cyrusdb[19760]: DBERROR: dbenv->open 
'/data/cyrus/config/db' failed: DB_VERSION_MISMATCH: Database environment 
version mismatch
Jan  9 12:28:28 ihf2 cyrus/cvt_cyrusdb[19760]: DBERROR: init() on berkeley
Jan  9 12:28:28 ihf2 cyrus/cvt_cyrusdb[19760]: DBERROR: reading 
/data/cyrus/config/db/skipstamp, assuming the worst: No such file or directory
Jan  9 12:28:28 ihf2 cyrus/cvt_cyrusdb[19760]: DBERROR db4: DB_AUTO_COMMIT may 
not be specified in non-transactional environment
Jan  9 12:28:28 ihf2 cyrus/cvt_cyrusdb[19760]: DBERROR: opening 
/data/cyrus/config/mailboxes.db: Invalid argument


To be frank : I seem doomed. I didnt find anything useful to my problem in the 
docs or on google. I dont even know if my original mailboxes.db-file is really 
in Berkeley-format. I tried to use '/usr/cyrus/bin/ctl_mboxlist -d 
 >/tmp/mailbox.db' on the old machine with gave me - as expected - the same 
mailboxfile. Its a binary-file with the mailbox-lists as ASCII somewhere in it 
with binary noise around.

Converting the seen-files from flat to skiplist seems to work. I also tried to 
convert the mailboxes.db from flat to skiplist but then cvt_cyrusdb said that 
its appearently an empty file.

Any suggestions?  Or is there maybe a workaround?  By reconstructing the 
mailboxes-files manually from the userdatabase (ldap-based). All users have the 
same permissions.

thnx a lot
peter



-- 
mag. peter pilsl - goldfisch.at
IT-Consulting
Tel: +43-650-3574035
Tel: +43-1-8900602
Fax: +43-1-8900602-15
skype: peter.pilsl
pilsl at goldfisch.at
www.goldfisch.at


More information about the Info-cyrus mailing list