[Dovecot] lib90_cmusieve_plugin.so: undefined symbol: message_decoder_init
After upgrading our CentOS 5 box to the latest revisions last week (including Dovecot 1.1), we're seeing the following error message in the log files. Sieve was working fine with Dovecot 1.0.
I have yet to turn up anything via Google for this particular error. SELinux is not logging any error messages at the moment, so I'm pretty sure that we've properly allowed all the SELinux permissions.
# cat /var/vmail/dovecot-deliver.log
deliver(ruth@example.com): Jul 28 11:11:44 Error: dlopen(/usr/lib64/dovecot/lda/lib90_cmusieve_plugin.so) failed: /usr/lib64/dovecot/lda/lib90_cmusieve_plugin.so: undefined symbol: message_decoder_init deliver(ruth@example.com): Jul 28 11:11:44 Fatal: Couldn't load required plugins
# ls -l /usr/libexec/dovecot/sievec -rwxr-xr-x 1 root root 165152 Jun 11 03:21 /usr/libexec/dovecot/sievec
# ls -l /usr/lib64/dovecot/lda/lib90_cmusieve_plugin.so -rwxr-xr-x 1 root root 141328 Jun 11 03:21 /usr/lib64/dovecot/lda/lib90_cmusieve_plugin.so
# yum list | grep "dovecot" dovecot.x86_64 1:1.1.1-2_76.el5 installed dovecot-sieve.x86_64 1.1.5-8.el5 installed dovecot.x86_64 1:1.1.2-2_77.el5 atrpms
dovecot-devel.x86_64 1:1.1.2-2_77.el5 atrpms
Thomas Harold wrote:
After upgrading our CentOS 5 box to the latest revisions last week (including Dovecot 1.1), we're seeing the following error message in the log files. Sieve was working fine with Dovecot 1.0.
I have yet to turn up anything via Google for this particular error. SELinux is not logging any error messages at the moment, so I'm pretty sure that we've properly allowed all the SELinux permissions.
# cat /var/vmail/dovecot-deliver.log
deliver(ruth@example.com): Jul 28 11:11:44 Error: dlopen(/usr/lib64/dovecot/lda/lib90_cmusieve_plugin.so) failed: /usr/lib64/dovecot/lda/lib90_cmusieve_plugin.so: undefined symbol: message_decoder_init deliver(ruth@example.com): Jul 28 11:11:44 Fatal: Couldn't load required plugins
# ls -l /usr/libexec/dovecot/sievec -rwxr-xr-x 1 root root 165152 Jun 11 03:21 /usr/libexec/dovecot/sievec
# ls -l /usr/lib64/dovecot/lda/lib90_cmusieve_plugin.so -rwxr-xr-x 1 root root 141328 Jun 11 03:21 /usr/lib64/dovecot/lda/lib90_cmusieve_plugin.so
# yum list | grep "dovecot" dovecot.x86_64 1:1.1.1-2_76.el5 installed dovecot-sieve.x86_64 1.1.5-8.el5 installed dovecot.x86_64 1:1.1.2-2_77.el5 atrpms dovecot-devel.x86_64 1:1.1.2-2_77.el5 atrpms
Looks like you mixed up binaries from different versions of dovecot. I recommend completely remove dovecot, (manually rechecking after rpm remove). and reinstall.
Uldis
Uldis Pakuls wrote:
# yum list | grep "dovecot" dovecot.x86_64 1:1.1.1-2_76.el5 installed dovecot-sieve.x86_64 1.1.5-8.el5 installed dovecot.x86_64 1:1.1.2-2_77.el5 atrpms dovecot-devel.x86_64 1:1.1.2-2_77.el5 atrpms
Looks like you mixed up binaries from different versions of dovecot. I recommend completely remove dovecot, (manually rechecking after rpm remove). and reinstall. Uldis
So what versions should we be using? We only had one version of dovecot and one version of dovecot-sieve.
Uldis Pakuls wrote:
# yum list | grep "dovecot" dovecot.x86_64 1:1.1.1-2_76.el5 installed dovecot-sieve.x86_64 1.1.5-8.el5 installed dovecot.x86_64 1:1.1.2-2_77.el5 atrpms dovecot-devel.x86_64 1:1.1.2-2_77.el5 atrpms
Looks like you mixed up binaries from different versions of dovecot. I recommend completely remove dovecot, (manually rechecking after rpm remove). and reinstall. Uldis
So what versions should we be using? We only had one version of dovecot and one version of dovecot-sieve. "lib90_cmusieve_plugin.so: undefined symbol: message_decoder_init" - means you have old version of sieve plugin. since 2007-07-20 (see chagelog) plugins use "message_decoder_init".
Thomas Harold wrote: previous version used "message_decoder_init_ucase". so plugin binaries you have is something form v1.1alpha1... (broken RPMS?) - it is not sieve v1.1.5...
Uldis
On Wed, Jul 30, 2008 at 01:01:22PM +0300, Uldis Pakuls wrote:
Thomas Harold wrote:
Uldis Pakuls wrote:
# yum list | grep "dovecot" dovecot.x86_64 1:1.1.1-2_76.el5 installed dovecot-sieve.x86_64 1.1.5-8.el5 installed dovecot.x86_64 1:1.1.2-2_77.el5 atrpms dovecot-devel.x86_64 1:1.1.2-2_77.el5 atrpms
Looks like you mixed up binaries from different versions of dovecot.
I recommend completely remove dovecot, (manually rechecking after rpm remove). and reinstall. UldisSo what versions should we be using? We only had one version of
dovecot and one version of dovecot-sieve.
Look at your list above, you have dovecot 1.1.1-2_76.el5 *and* dovecot 1.1.2-2_77.el5, this looks quite wrong.
"lib90_cmusieve_plugin.so: undefined symbol: message_decoder_init" - means you have old version of sieve plugin. since 2007-07-20 (see chagelog) plugins use "message_decoder_init". previous version used "message_decoder_init_ucase". so plugin binaries you have is something form v1.1alpha1... (broken RPMS?) - it is not sieve v1.1.5...
I don't think the rpms are broken. Thomas, do as Uldis recommended, remove all traces of dovecot from you system including self-compiled ones that may be under /usr/local. Then reinstall dovecot and dovecot-sieve from ATrpms.
Also use rpm -V on packages that are suspect. If you do that on dovecot right now, you will find many inconsitencies as one version was installed over the other.
Final note: If you don't want to trust yum onto ATrpms or any other repo and prefer to download/install manually, then never use rpm -i, always use rpm -U (unless you are installing a kernel, that it). The only way two different versions of dovecot being installed on your system (of the same arch also), is if you manually used the -i switch to rpm, or if the yum/smart/apt transaction was killed halfway trough (power loss?). In both cases the only way to recover is to reinstall the package in question.
Axel.Thimm at ATrpms.net
Axel Thimm wrote:
I don't think the rpms are broken. Thomas, do as Uldis recommended, remove all traces of dovecot from you system including self-compiled ones that may be under /usr/local. Then reinstall dovecot and dovecot-sieve from ATrpms.
Not sure about ATrpms, but sometimes updating from v1.0 to v1.1 (rpm -U) don' t work as expected - old modules remain on system. I recommend compleatly remove /modules direcory to be sure. Actualy rpm must check for
- (preinstall/postinstall scripts) there is no any old module files left after upgrade. 2 force overwrite even if file is "newer" ... in case of old 1.0 version modules my be "newer" than 1.1.
Uldis
Uldis Pakuls wrote:
Uldis Pakuls wrote:
# yum list | grep "dovecot" dovecot.x86_64 1:1.1.1-2_76.el5 installed dovecot-sieve.x86_64 1.1.5-8.el5 installed dovecot.x86_64 1:1.1.2-2_77.el5 atrpms dovecot-devel.x86_64 1:1.1.2-2_77.el5 atrpms
Looks like you mixed up binaries from different versions of dovecot. I recommend completely remove dovecot, (manually rechecking after rpm remove). and reinstall. Uldis
So what versions should we be using? We only had one version of dovecot and one version of dovecot-sieve. "lib90_cmusieve_plugin.so: undefined symbol: message_decoder_init" - means you have old version of sieve plugin. since 2007-07-20 (see chagelog) plugins use "message_decoder_init".
Thomas Harold wrote: previous version used "message_decoder_init_ucase". so plugin binaries you have is something form v1.1alpha1... (broken RPMS?) - it is not sieve v1.1.5...
We've only been pulling dovecot and dovecot-sieve from atrpms (the first install of dovecot was only 2-3 months ago).
I did a regular "yum remove dovecot dovecot-sieve" last night, followed by a "yum install dovecot dovecot-sieve", but without any joy. I'll have to dig into it deeper this afternoon.
# rpm -vV dovecot S.5....T c /etc/dovecot.conf ........ c /etc/logrotate.d/dovecot ........ c /etc/pam.d/dovecot ........ /etc/pki/dovecot ........ /etc/pki/dovecot/certs ........ c /etc/pki/dovecot/dovecot-openssl.cnf ........ /etc/pki/dovecot/private ........ c /etc/rc.d/init.d/dovecot ........ /usr/lib64/dovecot ........ /usr/lib64/dovecot/imap ........ /usr/lib64/dovecot/imap/lib01_acl_plugin.so ........ /usr/lib64/dovecot/imap/lib02_lazy_expunge_plugin.so ........ /usr/lib64/dovecot/imap/lib10_quota_plugin.so ........ /usr/lib64/dovecot/imap/lib11_imap_quota_plugin.so ........ /usr/lib64/dovecot/imap/lib11_trash_plugin.so ........ /usr/lib64/dovecot/imap/lib20_convert_plugin.so ........ /usr/lib64/dovecot/imap/lib20_expire_plugin.so ........ /usr/lib64/dovecot/imap/lib20_fts_plugin.so ........ /usr/lib64/dovecot/imap/lib20_mail_log_plugin.so ........ /usr/lib64/dovecot/imap/lib20_mbox_snarf_plugin.so ........ /usr/lib64/dovecot/imap/lib20_zlib_plugin.so ........ /usr/lib64/dovecot/imap/lib21_fts_squat_plugin.so ........ /usr/lib64/dovecot/lda ........ /usr/lib64/dovecot/lda/lib01_acl_plugin.so ........ /usr/lib64/dovecot/lda/lib10_quota_plugin.so ........ /usr/lib64/dovecot/lda/lib11_trash_plugin.so ........ /usr/lib64/dovecot/lda/lib20_convert_plugin.so ........ /usr/lib64/dovecot/lda/lib20_expire_plugin.so ........ /usr/lib64/dovecot/lda/lib20_fts_plugin.so ........ /usr/lib64/dovecot/lda/lib20_mail_log_plugin.so ........ /usr/lib64/dovecot/lda/lib21_fts_squat_plugin.so ........ /usr/lib64/dovecot/lib01_acl_plugin.so ........ /usr/lib64/dovecot/lib02_lazy_expunge_plugin.so ........ /usr/lib64/dovecot/lib10_quota_plugin.so ........ /usr/lib64/dovecot/lib11_trash_plugin.so ........ /usr/lib64/dovecot/lib20_convert_plugin.so ........ /usr/lib64/dovecot/lib20_expire_plugin.so ........ /usr/lib64/dovecot/lib20_fts_plugin.so ........ /usr/lib64/dovecot/lib20_mail_log_plugin.so ........ /usr/lib64/dovecot/lib20_mbox_snarf_plugin.so ........ /usr/lib64/dovecot/lib20_zlib_plugin.so ........ /usr/lib64/dovecot/lib21_fts_squat_plugin.so ........ /usr/lib64/dovecot/pop3 ........ /usr/lib64/dovecot/pop3/lib02_lazy_expunge_plugin.so ........ /usr/lib64/dovecot/pop3/lib10_quota_plugin.so ........ /usr/lib64/dovecot/pop3/lib20_convert_plugin.so ........ /usr/lib64/dovecot/pop3/lib20_expire_plugin.so ........ /usr/lib64/dovecot/pop3/lib20_fts_plugin.so ........ /usr/lib64/dovecot/pop3/lib20_mail_log_plugin.so ........ /usr/lib64/dovecot/pop3/lib20_mbox_snarf_plugin.so ........ /usr/lib64/dovecot/pop3/lib20_zlib_plugin.so ........ /usr/lib64/dovecot/pop3/lib21_fts_squat_plugin.so ........ /usr/libexec/dovecot ........ /usr/libexec/dovecot/checkpassword-reply ........ /usr/libexec/dovecot/convert-tool ........ /usr/libexec/dovecot/deliver ........ /usr/libexec/dovecot/dict ........ /usr/libexec/dovecot/dovecot-auth ........ /usr/libexec/dovecot/expire-tool ........ /usr/libexec/dovecot/gdbhelper ........ /usr/libexec/dovecot/idxview ........ /usr/libexec/dovecot/imap ........ /usr/libexec/dovecot/imap-login ........ /usr/libexec/dovecot/listview ........ /usr/libexec/dovecot/logview ........ /usr/libexec/dovecot/maildirlock ........ /usr/libexec/dovecot/mkcert.sh ........ /usr/libexec/dovecot/pop3 ........ /usr/libexec/dovecot/pop3-login ........ /usr/libexec/dovecot/rawlog ........ /usr/libexec/dovecot/ssl-build-param ........ /usr/sbin/dovecot ........ /usr/sbin/dovecotpw ........ /usr/share/doc/dovecot-1.1.2 ........ d /usr/share/doc/dovecot-1.1.2/COPYING ........ d /usr/share/doc/dovecot-1.1.2/COPYING.LGPL ........ d /usr/share/doc/dovecot-1.1.2/COPYING.MIT ........ d /usr/share/doc/dovecot-1.1.2/REDHAT-FAQ.txt ........ /usr/share/doc/dovecot-1.1.2/UW-to-Dovecot-Migration ........ d /usr/share/doc/dovecot-1.1.2/UW-to-Dovecot-Migration/maildir-migration.txt ........ d /usr/share/doc/dovecot-1.1.2/UW-to-Dovecot-Migration/migrate-folders ........ d /usr/share/doc/dovecot-1.1.2/UW-to-Dovecot-Migration/migrate-users ........ d /usr/share/doc/dovecot-1.1.2/UW-to-Dovecot-Migration/perfect_maildir.pl ........ d /usr/share/doc/dovecot-1.1.2/auth-protocol.txt ........ d /usr/share/doc/dovecot-1.1.2/documentation.txt ........ /usr/share/doc/dovecot-1.1.2/examples ........ d /usr/share/doc/dovecot-1.1.2/examples/dovecot-db-example.conf ........ d /usr/share/doc/dovecot-1.1.2/examples/dovecot-ldap-example.conf ........ d /usr/share/doc/dovecot-1.1.2/examples/dovecot-sql-example.conf ........ d /usr/share/doc/dovecot-1.1.2/securecoding.txt ........ /usr/share/doc/dovecot-1.1.2/wiki ........ d /usr/share/doc/dovecot-1.1.2/wiki/ACL.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/AixPluginsSupport.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/AuthDatabase.LDAP.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/AuthDatabase.Passwd.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/AuthDatabase.PasswdFile.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/AuthDatabase.SQL.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/AuthDatabase.VPopMail.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/AuthDatabase.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Authentication.Caching.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Authentication.Kerberos.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Authentication.MasterUsers.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Authentication.Mechanisms.DigestMD5.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Authentication.Mechanisms.NTLM.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Authentication.Mechanisms.Winbind.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Authentication.Mechanisms.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Authentication.MultipleDatabases.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Authentication.PasswordSchemes.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Authentication.RestrictAccess.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Authentication.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/BasicConfiguration.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Chrooting.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Clients.NegativeUIDs.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Clients.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/CommandLine.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/CompilingSource.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Debugging.Authentication.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Debugging.ProcessTracing.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Debugging.Rawlog.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Debugging.Thunderbird.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Design.AuthProcess.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Design.Indexes.Cache.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Design.Indexes.MailIndexApi.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Design.Indexes.MainIndex.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Design.Indexes.TransactionLog.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Design.Indexes.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Design.MailProcess.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Design.Processes.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Design.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/FindMailLocation.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/FinishBasicConfiguration.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/HowTo.EximAndDovecotSASL.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/HowTo.PopBSMTPAndDovecot.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/HowTo.PopRelay.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/HowTo.PostfixAndDovecotSASL.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/HowTo.Rootless.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/HowTo.SimpleVirtualInstall.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/HowTo.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/IndexFiles.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/InetdInstall.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Iptables.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/LDA.Exim.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/LDA.Indexing.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/LDA.Postfix.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/LDA.Qmail.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/LDA.Sendmail.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/LDA.Sieve.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/LDA.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Logging.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/LoginProcess.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/MDA.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/MTA.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/MailLocation.LocalDisk.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/MailLocation.Maildir.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/MailLocation.Mbox.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/MailLocation.SharedDisk.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/MailLocation.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/MailboxFormat.Cydir.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/MailboxFormat.MH.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/MailboxFormat.Maildir.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/MailboxFormat.dbox.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/MailboxFormat.mailstore.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/MailboxFormat.mbox.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/MailboxFormat.mbx.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/MailboxFormat.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/ManageSieve.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/MboxLocking.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/MboxProblems.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Migration.BincIMAP.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Migration.Courier.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Migration.Cyrus.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Migration.Linuxconf.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Migration.MailFormat.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Migration.Teapop.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Migration.UW.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Migration.Vm-pop3d.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Migration.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/MissingMailboxes.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/NFS.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Namespaces.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/OSCompatibility.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/POP3Server.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/PasswordDatabase.BSDAuth.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/PasswordDatabase.CheckPassword.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/PasswordDatabase.ExtraFields.AllowNets.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/PasswordDatabase.ExtraFields.Host.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/PasswordDatabase.ExtraFields.NoDelay.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/PasswordDatabase.ExtraFields.NoLogin.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/PasswordDatabase.ExtraFields.Proxy.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/PasswordDatabase.ExtraFields.User.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/PasswordDatabase.ExtraFields.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/PasswordDatabase.PAM.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/PasswordDatabase.Shadow.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/PasswordDatabase.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/PerformanceTuning.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Plugins.Convert.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Plugins.Expire.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Plugins.FTS.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Plugins.Lazyexpunge.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Plugins.MailLog.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Plugins.Trash.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Plugins.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/PostLoginScripting.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/QuickConfiguration.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Quota.1.1.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Quota.Dict.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Quota.Dirsize.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Quota.FS.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Quota.Maildir.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Quota.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/RunningDovecot.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/SSL.CertificateClientImporting.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/SSL.CertificateCreation.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/SSL.DovecotConfiguration.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/SSL.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Sasl.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/SecurityTuning.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/SharedMailboxes.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/ShellEasyConf.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/SystemUsers.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/TestInstallation.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/TestPop3Installation.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/TimeMovedBackwards.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Upgrading.1.0.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Upgrading.1.1.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Upgrading.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/UserDatabase.ExtraFields.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/UserDatabase.NSS.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/UserDatabase.Prefetch.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/UserDatabase.Static.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/UserDatabase.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/UserIds.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/Variables.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/VirtualUsers.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/WhyDoesItNotWork.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/maildrop.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/mutt.txt ........ d /usr/share/doc/dovecot-1.1.2/wiki/uw2dovecot.sh.txt ........ /var/cache/dovecot ........ /var/cache/dovecot/indexes ........ /var/lib/dovecot ........ /var/run/dovecot ........ /var/run/dovecot/login
# rpm -vV dovecot-sieve ........ /usr/lib64/dovecot/lda/lib90_cmusieve_plugin.la ........ /usr/lib64/dovecot/lda/lib90_cmusieve_plugin.so ........ /usr/libexec/dovecot/sievec ........ /usr/libexec/dovecot/sieved
# ls -l /usr/lib64/dovecot/ total 340 drwxr-xr-x 2 root root 4096 Jul 29 20:15 imap drwxr-xr-x 2 root root 4096 Jul 29 20:15 lda -rwxr-xr-x 1 root root 42624 Jul 24 06:32 lib01_acl_plugin.so -rwxr-xr-x 1 root root 15240 Jul 24 06:32 lib02_lazy_expunge_plugin.so -rwxr-xr-x 1 root root 49312 Jul 24 06:32 lib10_quota_plugin.so -rwxr-xr-x 1 root root 9480 Jul 24 06:32 lib11_trash_plugin.so -rwxr-xr-x 1 root root 15320 Jul 24 06:32 lib20_convert_plugin.so -rwxr-xr-x 1 root root 12072 Jul 24 06:32 lib20_expire_plugin.so -rwxr-xr-x 1 root root 23616 Jul 24 06:32 lib20_fts_plugin.so -rwxr-xr-x 1 root root 13176 Jul 24 06:32 lib20_mail_log_plugin.so -rwxr-xr-x 1 root root 7848 Jul 24 06:32 lib20_mbox_snarf_plugin.so -rwxr-xr-x 1 root root 11488 Jul 24 06:32 lib20_zlib_plugin.so -rwxr-xr-x 1 root root 53160 Jul 24 06:32 lib21_fts_squat_plugin.so drwxr-xr-x 2 root root 4096 Jul 29 20:15 pop3
# ls -l /usr/lib64/dovecot/lda/ total 188 lrwxrwxrwx 1 root root 22 Jul 29 20:15 lib01_acl_plugin.so -> ../lib01_acl_plugin.so lrwxrwxrwx 1 root root 24 Jul 29 20:15 lib10_quota_plugin.so -> ../lib10_quota_plugin.so lrwxrwxrwx 1 root root 24 Jul 29 20:15 lib11_trash_plugin.so -> ../lib11_trash_plugin.so lrwxrwxrwx 1 root root 26 Jul 29 20:15 lib20_convert_plugin.so -> ../lib20_convert_plugin.so lrwxrwxrwx 1 root root 25 Jul 29 20:15 lib20_expire_plugin.so -> ../lib20_expire_plugin.so lrwxrwxrwx 1 root root 22 Jul 29 20:15 lib20_fts_plugin.so -> ../lib20_fts_plugin.so lrwxrwxrwx 1 root root 27 Jul 29 20:15 lib20_mail_log_plugin.so -> ../lib20_mail_log_plugin.so lrwxrwxrwx 1 root root 28 Jul 29 20:15 lib21_fts_squat_plugin.so -> ../lib21_fts_squat_plugin.so -rwxr-xr-x 1 root root 905 Jun 11 03:21 lib90_cmusieve_plugin.la -rwxr-xr-x 1 root root 141328 Jun 11 03:21 lib90_cmusieve_plugin.so
I'll take another crack at it later.
Thomas Harold wrote:
Uldis Pakuls wrote:
Uldis Pakuls wrote:
# yum list | grep "dovecot" dovecot.x86_64 1:1.1.1-2_76.el5 installed dovecot-sieve.x86_64 1.1.5-8.el5 installed dovecot.x86_64 1:1.1.2-2_77.el5
atrpms dovecot-devel.x86_64 1:1.1.2-2_77.el5
atrpmsLooks like you mixed up binaries from different versions of dovecot. I recommend completely remove dovecot, (manually rechecking after rpm remove). and reinstall. Uldis
So what versions should we be using? We only had one version of dovecot and one version of dovecot-sieve. "lib90_cmusieve_plugin.so: undefined symbol: message_decoder_init" - means you have old version of sieve plugin. since 2007-07-20 (see chagelog) plugins use "message_decoder_init".
Thomas Harold wrote: previous version used "message_decoder_init_ucase". so plugin binaries you have is something form v1.1alpha1... (broken RPMS?) - it is not sieve v1.1.5...
We've only been pulling dovecot and dovecot-sieve from atrpms (the first install of dovecot was only 2-3 months ago).
I did a regular "yum remove dovecot dovecot-sieve" last night, followed by a "yum install dovecot dovecot-sieve", but without any joy. I'll have to dig into it deeper this afternoon.
........ /usr/lib64/dovecot ........ /usr/lib64/dovecot/lda
# rpm -vV dovecot-sieve ........ /usr/lib64/dovecot/lda/lib90_cmusieve_plugin.la ........ /usr/lib64/dovecot/lda/lib90_cmusieve_plugin.so ........ /usr/libexec/dovecot/sievec ........ /usr/libexec/dovecot/sieved
Check directory "/usr/lib64/dovecot" before "yum install dovecot dovecot-sieve", if it exist - remove it. If problem is still here - it is "broken" rpm problem.
Uldis
Uldis Pakuls wrote:
Thomas Harold wrote:
# rpm -vV dovecot-sieve ........ /usr/lib64/dovecot/lda/lib90_cmusieve_plugin.la ........ /usr/lib64/dovecot/lda/lib90_cmusieve_plugin.so ........ /usr/libexec/dovecot/sievec ........ /usr/libexec/dovecot/sieved Check directory "/usr/lib64/dovecot" before "yum install dovecot dovecot-sieve", if it exist - remove it. If problem is still here - it is "broken" rpm problem.
Possibly fixed. The issue is that we're using multiple UIDs for virtual users per:
We had made a copy of the deliver executable:
/usr/libexec/dovecot/deliver
to:
/usr/local/libexec/dovecot/lda/deliver
and set it as setuid. I had forgotten to upgrade this copy of the "deliver" executable to the latest version from dovecot. So when I upgrade dovecot in the future, I need to remember to:
# cp --no-preserve=all /usr/libexec/dovecot/deliver /usr/local/libexec/dovecot/lda/
participants (3)
-
Axel Thimm
-
Thomas Harold
-
Uldis Pakuls