Compiling and libdb

Adam Tauno Williams awilliam at
Wed Dec 21 06:28:19 EST 2011

On Wed, 2011-12-21 at 10:07 +0100, steffo76 at wrote:
> I have a problem that someone might have a solution for. I have two
> servers running cyrus imap 2.3.14 which is built against libdb-4.2. I
> would like to upgrade them to 2.4.12. 
> As the indexes need to be upgraded I would like to test this
> beforehand so I restored the mail to a test machine and ran cyrus-imap
> 2.4.12. Unfortunately I got "IOERROR: opening index System
> I/O error" for each and every mailbox. I was hoping that this might be
> to the fact that on this machine the imapd was built against libdb-4.7
> which is the version installed on the system but the index files where
> created by an imapd using libdb-4.2. Permissions on the files and
> directories are correct.

Can you list the mailbox file?  [are you sure it isn't a permissions

A much better option is to use cvt_cyrusdb on the running server to
convert the databases to skiplist and then use those databases over on
the new server.  Generally people have migrated away from BDB [in large
part because of issues like these; getting a reliable build environment
is tedious].

su cyrus -c "/usr/lib/cyrus-imapd/cvt_cyrusdb \ 
  /var/lib/imap/mailboxes.db berkeley /tmp/mailboxes.db skiplist" 

Adam  Tauno Williams <awilliam at>

More information about the Info-cyrus mailing list