Markus Kalb
2013-Jul-28 16:43 UTC
[Dovecot] Please help with : undefined symbol: mail_deliver_save_open
Greetings dovecot-mailing list! after upgrading from debian squeeze -> debian wheezy and therefore making the big dovecot jump from 1.x to 2.x we are stuck with one final(?) error that we can't get fixed. During login attempts the following is written to the logfiles. Error: dovecot: imap: Error: dlopen(/usr/lib/dovecot/modules/lib90_sieve_plugin.so) failed: /usr/lib/dovecot/libdovecot-sieve.so.0: undefined symbol: mail_deliver_save_open Searching the mailinglist and google in general the only thing i could find was that this error could be connected to loading the sieve plugin outside of lda. But as you can see in the attached config dump, we only load it inside the lda protocol block. ciao markus Our setup:> dovecot --version2.1.7> dovecot -n# 2.1.7: /etc/dovecot/dovecot.conf # OS: Linux 3.2.0-4-686-pae i686 Debian 7.1 auth_debug = yes auth_mechanisms = plain login digest-md5 cram-md5 auth_verbose = yes mail_debug = yes mail_plugins = acl fts fts_solr mail_shared_explicit_inbox = no managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave imapflags notify namespace { hidden = no list = children location maildir:/home/lists/.mail/:CONTROL=%h/.mail/private/.imap/shared/control:INDEX=%h/.mail/private/.imap/shared/index prefix = lists/ separator = / subscriptions = no type = shared } namespace { hidden = yes list = no location maildir:/home/security/.mail/:CONTROL=%h/.mail/private/.imap/shared/control:INDEX=%h/.mail/private/.imap/shared/index prefix = security/ separator = / subscriptions = no type = shared } namespace { hidden = yes list = children location maildir:/home/dsys/.mail/:CONTROL=%h/.mail/private/.imap/shared/control:INDEX=%h/.mail/private/.imap/shared/index prefix = duales_system/ separator = / subscriptions = no type = shared } namespace inbox { hidden = no inbox = yes list = yes location = mbox:%h/.mail/private:INBOX=/var/mail/%u mailbox Drafts { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } prefix separator = / type = private } passdb { args = scheme=DIGEST-MD5 username_format=%u /etc/dovecot/passwd driver = passwd-file } plugin { acl = vfile:/etc/dovecot/acls:cache_secs=300 sieve = ~/.dovecot.sieve sieve_dir = ~/sieve sieve_extensions = +imapflags +notify } protocols = " imap sieve" service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0666 user = postfix } } service imap-login { inet_listener imap { port = 143 } } ssl_cert = </etc/ssl/certs/SERVER.pem ssl_key = </etc/ssl/private/SERVER.key userdb { args = username_format=%u /etc/dovecot/passwd default_fields = mail_plugins=sieve system_groups_user=%u driver = passwd-file } protocol lda { mail_plugins = acl fts fts_solr sieve } protocol imap { mail_max_userip_connections = 20 mail_plugins = acl fts fts_solr } # dpkg -l '*dovecot*' |grep ii | cut -c 0-60 ii dovecot-antispam 2.0+20120225-3 ii dovecot-core 1:2.1.7-7 ii dovecot-imapd 1:2.1.7-7 ii dovecot-ldap 1:2.1.7-7 ii dovecot-managesieved 1:2.1.7-7 ii dovecot-sieve 1:2.1.7-7 ii dovecot-solr 1:2.1.7-7
Markus Kalb
2013-Jul-28 19:42 UTC
[Dovecot] solved/answered Re: Please help with : undefined symbol: mail_deliver_save_open
Hi thanks to the kind help of S[r]us in the #Dovecot channel I can supply the solution myself. So for everyone having the same problem, in my case it was the line: default_fields = mail_plugins=sieve system_groups_user=%u it causes the sieve plugin to be loaded in a global context. It worked in version 1.X but not in 2.X. Am 28.07.2013 18:43, schrieb Markus Kalb:> Greetings dovecot-mailing list! > > > after upgrading from debian squeeze -> debian wheezy and therefore > making the big dovecot jump from 1.x to 2.x we are stuck with one > final(?) error that we can't get fixed. > > > > During login attempts the following is written to the logfiles. > > Error: > dovecot: imap: Error: > dlopen(/usr/lib/dovecot/modules/lib90_sieve_plugin.so) failed: > /usr/lib/dovecot/libdovecot-sieve.so.0: undefined symbol: > mail_deliver_save_open > > > > Searching the mailinglist and google in general the only thing i could > find was that this error could be connected to loading the sieve plugin > outside of lda. But as you can see in the attached config dump, we only > load it inside the lda protocol block. > > > > ciao markus > > > > > > Our setup: > >> dovecot --version > 2.1.7 > > >> dovecot -n > # 2.1.7: /etc/dovecot/dovecot.conf > # OS: Linux 3.2.0-4-686-pae i686 Debian 7.1 > auth_debug = yes > auth_mechanisms = plain login digest-md5 cram-md5 > auth_verbose = yes > mail_debug = yes > mail_plugins = acl fts fts_solr > mail_shared_explicit_inbox = no > managesieve_notify_capability = mailto > managesieve_sieve_capability = fileinto reject envelope > encoded-character vacation subaddress comparator-i;ascii-numeric > relational regex imap4flags copy include variables body enotify > environment mailbox date ihave imapflags notify > namespace { > hidden = no > list = children > location > maildir:/home/lists/.mail/:CONTROL=%h/.mail/private/.imap/shared/control:INDEX=%h/.mail/private/.imap/shared/index > prefix = lists/ > separator = / > subscriptions = no > type = shared > } > namespace { > hidden = yes > list = no > location > maildir:/home/security/.mail/:CONTROL=%h/.mail/private/.imap/shared/control:INDEX=%h/.mail/private/.imap/shared/index > prefix = security/ > separator = / > subscriptions = no > type = shared > } > namespace { > hidden = yes > list = children > location > maildir:/home/dsys/.mail/:CONTROL=%h/.mail/private/.imap/shared/control:INDEX=%h/.mail/private/.imap/shared/index > prefix = duales_system/ > separator = / > subscriptions = no > type = shared > } > namespace inbox { > hidden = no > inbox = yes > list = yes > location = mbox:%h/.mail/private:INBOX=/var/mail/%u > mailbox Drafts { > special_use = \Drafts > } > mailbox Junk { > special_use = \Junk > } > mailbox Sent { > special_use = \Sent > } > mailbox "Sent Messages" { > special_use = \Sent > } > mailbox Trash { > special_use = \Trash > } > prefix > separator = / > type = private > } > passdb { > args = scheme=DIGEST-MD5 username_format=%u /etc/dovecot/passwd > driver = passwd-file > } > plugin { > acl = vfile:/etc/dovecot/acls:cache_secs=300 > sieve = ~/.dovecot.sieve > sieve_dir = ~/sieve > sieve_extensions = +imapflags +notify > } > protocols = " imap sieve" > service auth { > unix_listener /var/spool/postfix/private/auth { > group = postfix > mode = 0666 > user = postfix > } > } > service imap-login { > inet_listener imap { > port = 143 > } > } > ssl_cert = </etc/ssl/certs/SERVER.pem > ssl_key = </etc/ssl/private/SERVER.key > userdb { > args = username_format=%u /etc/dovecot/passwd > default_fields = mail_plugins=sieve system_groups_user=%u > driver = passwd-file > } > protocol lda { > mail_plugins = acl fts fts_solr sieve > } > protocol imap { > mail_max_userip_connections = 20 > mail_plugins = acl fts fts_solr > } > > > > > > # dpkg -l '*dovecot*' |grep ii | cut -c 0-60 > ii dovecot-antispam 2.0+20120225-3 > ii dovecot-core 1:2.1.7-7 > ii dovecot-imapd 1:2.1.7-7 > ii dovecot-ldap 1:2.1.7-7 > ii dovecot-managesieved 1:2.1.7-7 > ii dovecot-sieve 1:2.1.7-7 > ii dovecot-solr 1:2.1.7-7 >