Cyradm - error with db_version. Tested on FC2

KL kjetil at
Mon Sep 6 16:49:00 EDT 2004

Hi !

I've read alot of messages regarding the error with cyrus-imapd cyradm command, and seldom any good replies.

I've composed a quick workaround tested on Fedora Core 2. 

[root at kevlar imap]# cyradm
Can't load '/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/auto/Cyrus/IMAP/' for module Cyrus::IMAP: /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/auto/Cyrus/IMAP/ undefined symbol: db_version at /usr/lib/perl5/5.8.3/i386-linux-thread-multi/ line 229.
 at /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/Cyrus/IMAP/ line 44
Compilation failed in require at /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/Cyrus/IMAP/ line 44.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/Cyrus/IMAP/ line 44.
Compilation failed in require at /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/Cyrus/IMAP/ line 60.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/Cyrus/IMAP/ line 60.
Compilation failed in require.
BEGIN failed--compilation aborted.

For me, an upgraded Fedora Core 2 installation also caused this error.. 

I finally found a solution from "Victor" here :

But since my customer requires to use RPMs, I had to make a little hack. From a basic install,
I only downloaded the same source as the Fedora RPM, and went into the perl/imap directory.
I changed the lines in Makefile.PL as Victor says in his post. 

my $SASL_LIB = $ENV{SASL_LIB} || "-lsasl2"; with
my $SASL_LIB = $ENV{SASL_LIB} || "-lsasl2 -ldb"; and then recomplile.

Went back to the root folder of imapd and did a ./configure && make.
Went into perl/imap and did a make install.

For some reason I didn't bother to investigate, the FC2 RPM puts its file in 5.8.0. I then 
copied the installed files from the 5.8.3 tree back to 5.8.0 tree.

cp  /usr/local/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi/auto/Cyrus/IMAP/IMAP.* /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/auto/Cyrus/IMAP/
(..or you can copy from the perl/imap dir).

Then I ran "cyradm" command : 

[root at kevlar imap]# cyradm

Thanks to Victor (!)- and hopes this helpes frustrated Fedora/Redhat/SuSE ++ people.

My to cents,
K of Norway.

Kjetil Laasby

Cyrus Home Page:
Cyrus Wiki/FAQ:
List Archives/Info:

More information about the Info-cyrus mailing list