Description of problem: At bootup time (or manually) cyrus-imapd fails to start. The following message is given: "preparing databases... error!"
looking in all the wrong places: error mesage in /var/log/messages pointed me to /var/lib/imap/rpm/cvt_cyrusdb_all.log which in turn has: -bash: line 1: /usr/lib/cyrus-imapd/cvt_cyrusdb_all: No such file or directory And that is because it should be looking in /var/lib64/cyrus-imapd/
It looks to me like the /urs/lib => /usr/lib64 change needs to be made on lines 46, 69, and 76 of /etc/init.d/cyrus-imapd file, then the service starts correctly.
jdennis, I wish to investigate, test and checkin this fix if it appears to be complete and good. May I have your permission please?
http://www.redhat.com/archives/fedora-devel-list/2004-May/msg00038.html http://www.redhat.com/archives/fedora-devel-list/2004-May/msg00076.html This is also quite serious, any disagreement with me checking this in?
Spec and patch against the init required are attached. SRPM is available at http://www.linuxtx.org/cyrus-imapd-2.2.3-9.src.rpm for testing. Of note, while beehive can build the shipping cyrus-imapd SRPM just fine, a fresh everything install of the development tree cannot.
Created attachment 99990 [details] Patch against cyrus-imapd.init from SRPM
Created attachment 99991 [details] Patch against the spec file addressing init, fetchnews rename, and master rename man changes
Created attachment 99998 [details] Patch against the spec file addressing init, fetchnews rename, and master rename man changes
Created attachment 99999 [details] Patch against cyrus-imapd.init from SRPM
Output from attempted rebuild on fresh x86_64 rawhide install from 05/04/04: mboxlist.c mboxlist.c: In function `mboxlist_autosubscribe_sharedfolders': mboxlist.c:3146: error: `IMAPOPT_AUTOSUBSCRIBESHAREDFOLDERS' undeclared (first use in this function) mboxlist.c:3146: error: (Each undeclared identifier is reported only once mboxlist.c:3146: error: for each function it appears in.) mboxlist.c:3163: warning: assignment makes integer from pointer without a cast mboxlist.c: In function `mboxlist_autocreateinbox': mboxlist.c:3247: error: `IMAPOPT_AUTOCREATEINBOXFOLDERS' undeclared (first use in this function) mboxlist.c:3248: error: `IMAPOPT_AUTOSUBSCRIBEINBOXFOLDERS' undeclared (first use in this function) make[1]: *** [mboxlist.o] Error 1 make[1]: Leaving directory `/usr/src/redhat/BUILD/cyrus-imapd-2.2.3/imap' make: *** [all] Error 1 error: Bad exit status from /var/tmp/rpm-tmp.56173 (%build) (yes, tried rebuild as root, just to be sure) Note, this happens with cyrus-imapd-2.2.3-8. Beehive can build fine it seems.
Created attachment 100014 [details] Patch against the spec file addressing init, fetchnews rename, and master rename man changes Sorry about the large number of updates, since it will not build on a dev install, I am having to get feedback from RH people
OK, applied update and it looks OK.
i discovered a much easier way to fix the problem: change the configdirectory line in /etc/imapd.conf to a new directory that you create yourself, then run mkimap on the folder to rebuild a fresh database. you should be good to go from there. # mkdir /var/lib/imap-new # chown cyrus:mail /var/lib/imap-new # nano /etc/imapd.conf (change the configdirectory line.. ie: configdirectory: /var/lib/imap-new # su cyrus $ /usr/lib/cyrus-imapd/mkimap $ exit # /sbin/service cyrus-imapd start and you should be golden. good luck to anyone else who stumbles onto this thread!