Назад | Перейти на главную страницу

libdovecot-sieve.so.0 неопределенный символ: i_debug

После обновления dovecot с 1.2 до 2.1.7 (при обновлении squeeze до wheezy) sieve больше не выполняет свою работу. (И срывает доставку почты)

apt-очистка всех пакетов dovecot и переустановка не улучшили ситуацию, я все равно получаю то же сообщение об ошибке:

==> mail.err <==
Mar 14 13:40:14 xxx dovecot: deliver(postmaster@xxx.de): dlopen(/usr/lib/dovecot/modules//lib90_sieve_plugin.so) failed: /usr/lib/dovecot/libdovecot-sieve.so.0: undefined symbol: i_debug
Mar 14 13:40:14 xxx dovecot: deliver(postmaster@xxx.de): Fatal: Couldn't load required plugins

==> mail.info <==
Mar 14 13:40:14 xxx postfix/pipe[15828]: 13B1F19E0792: to=<xxx@xxx.de>, orig_to=<xxx@xxx.de>, relay=dovecot, delay=0.43, delays=0.32/0.01/0/0.09, dsn=4.3.0, status=deferred (temporary failure)

dovecot.conf:

protocols = imap lmtp sieve

mail_plugin_dir = /usr/lib/dovecot/modules/

[snip]
...
[/snip]

protocol lda {
  mail_plugins = $mail_plugins sieve
  #mail_plugins = sieve
}

protocol lmtp {
  mail_plugins = $mail_plugins sieve
}


plugin {
  #recipient_delimiter = +
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
}

ll / usr / lib / dovecot / libdovecot-siev *

lrwxrwxrwx 1 root root      25 Feb  5  2013 libdovecot-sieve.so -> libdovecot-sieve.so.0.0.0
lrwxrwxrwx 1 root root      25 Feb  5  2013 libdovecot-sieve.so.0 -> libdovecot-sieve.so.0.0.0
-rw-r--r-- 1 root root  540304 Feb  5  2013 libdovecot-sieve.so.0.0.0

ll / usr / lib / dovecot / modules / * сито *

-rw-r--r-- 1 root root 18392 Feb  5  2013 /usr/lib/dovecot/modules/lib90_sieve_plugin.so

задача решена:

в postfix письма были отправлены на доставку dovecot вместо lmtp

удаление канала в /etc/postfix/master.cf,

dovecot   unix  -       n       n       -       -       pipe
 flags=DORhu user=nobody argv=/usr/local/lib/dovecot/deliver -f ${sender}
 -d ${user}@${nexthop} -n -m ${extension}

и добавив виртуальный транспорт в /etc/postfix/main.cf,

virtual_transport = lmtp:unix:private/dovecot-lmtp

или

virtual_transport = lmtp:unix:/var/run/dovecot/lmtp

исправил проблему для меня