I just upgraded from RedHat 6.2 to RedHat 7.1. I am running imap 1.6.24 
and sasl 1.5.24. After the upgrade I kept getting these errors in my log 
even though I am using pam for authentication. Users could still login 
fine but the logs were filling up with this error.


unable to open Berkeley db /etc/sasldb: Invalid argument


Turns out the problem was with the cyrus-sasl RPM that was installed 
during the upgrade. imapd, deliver, /usr/local/lib/libsasl.so, etc.. 
where all linked against

libdb.so.3 => /usr/lib/libdb.so.3 (0x40037000)

on the RedHat 6.2 system while on the RedHat 7.1 system 
/usr/lib/libsasl.so was linked against (I think this was the link as I 
overwrote the sasl libs with compiled versions trying to fix the problem)

/lib/libdb-3.1.so


Now one wouldn't think this would be a problem since my imapd is linked 
against /usr/local/lib/libsasl.so which is a version that was compiled 
on RedHat 6.2. Turns out the problem was the RPM installed it's own 
version of /etc/sasldb which was probably created with the 
sasldblistusers binary linked against /lib/libdb-3.2.so

I deleted the /etc/sasldb file and ran sasldblistusers (linked against 
/usr/lib/libdb.so.3) and now the errors are gone. :-)

The other solution would have been to recompile imapd to link against 
the same db libraries that sasl does but I couldn't get 1.6.24 to 
compile under 7.1 (see previous post)



Reply via email to