[Dovecot] Problem with dovecot config
Hi,
Doing a first install of dovecot, trying to copy over some of the config settings from 1.1.6. I'm getting an error, I think from the ACL plugin module. This is the error I'm getting on the console:
Error: imap dump-capability process returned 89 Fatal: Invalid configuration in /etc/opt/dovecot1.8/dovecot.conf
And this is what is appearing in syslog:
Jan 23 12:46:57 mars.tc.umn.edu imap(dump-capability): : [ID 315030 mail.info] Loading modules from directory: /opt/dovecot1.8/lib/dovecot/imap Jan 23 12:46:57 mars.tc.umn.edu imap(dump-capability): : [ID 817342 mail.error] dlopen(/opt/dovecot1.8/lib/dovecot/imap/lib01_acl_plugin.so) failed: ld.so.1: imap: fatal: relocation error: file /opt/dovecot1.8/lib/dovecot/imap/lib01_acl_plugin.so: symbol i_strcmp_p: referenced symbol not found
Other pertinent info:
# /opt/dovecot1.8/sbin/dovecot --version 1.1.8 # /opt/dovecot1.8/sbin/dovecot -n # 1.1.8: /etc/opt/dovecot1.8/dovecot.conf Warning: fd limit 256 is lower than what Dovecot can use under full load (more than 8448). Either grow the limit or change login_max_processes_count and max_mail_processes settings # OS: SunOS 5.10 sun4u syslog_facility: local6 protocols: imap imaps pop3 pop3s ssl_cert_file: /etc/opt/openssl/certs/dovecot.pem ssl_key_file: /etc/opt/openssl/private/dovecot.pem shutdown_clients: no login_dir: /var/opt/dovecot1.8/run/dovecot/login login_executable(default): /opt/dovecot1.8/libexec/dovecot/imap-login login_executable(imap): /opt/dovecot1.8/libexec/dovecot/imap-login login_executable(pop3): /opt/dovecot1.8/libexec/dovecot/pop3-login login_log_format_elements: user=<%u> pid=<%p> method=%m rip=%r lip=%l %c max_mail_processes: 8192 first_valid_uid: 99 mail_location: mbox:~:INBOX=/var/mail/%u:INDEX=/var/mail/.dovecot-index/%1u/%u/ mail_debug: yes mbox_lazy_writes: no mail_executable(default): /opt/dovecot/libexec/dovecot/imap-helper mail_executable(imap): /opt/dovecot/libexec/dovecot/imap-helper mail_executable(pop3): /opt/dovecot1.8/libexec/dovecot/pop3 mail_plugins(default): acl mail_plugins(imap): acl mail_plugins(pop3): mail_plugin_dir(default): /opt/dovecot1.8/lib/dovecot/imap mail_plugin_dir(imap): /opt/dovecot1.8/lib/dovecot/imap mail_plugin_dir(pop3): /opt/dovecot1.8/lib/dovecot/pop3 mail_log_prefix: [%p] %Us(%u): imap_client_workarounds(default): delay-newmail outlook-idle tb-extra-mailbox-sep imap_client_workarounds(imap): delay-newmail outlook-idle tb-extra-mailbox-sep imap_client_workarounds(pop3): namespace: type: private separator: / location: mbox:~:INBOX=/var/mail/%u:INDEX=/var/mail/.dovecot-index/%1u/%u/ inbox: yes list: yes subscriptions: yes namespace: type: private separator: / prefix: mail/ location: mbox:~/mail/:INDEX=/var/mail/.dovecot-index/%1u/%u/ hidden: yes list: yes subscriptions: yes namespace: type: private separator: / prefix: ~/mail/ location: mbox:~/mail/:INDEX=/var/mail/.dovecot-index/%1u/%u/ hidden: yes list: yes subscriptions: yes namespace: type: private separator: / prefix: ~%u/mail/ location: mbox:~/mail/:INDEX=/var/mail/.dovecot-index/%1u/%u/ hidden: yes list: yes subscriptions: yes namespace: type: private separator: / prefix: Shared/ location: maildir:~/Maildir/Shared:INDEX=/var/mail/.dovecot-index/%1u/%u/shared:CONTROL=/var/mail/.dovecot-index/%1u/%u/shared-control hidden: yes list: yes subscriptions: yes namespace: type: private separator: / prefix: mail/Shared/ location: maildir:~/Maildir/Shared:INDEX=/var/mail/.dovecot-index/%1u/%u/shared:CONTROL=/var/mail/.dovecot-index/%1u/%u/shared-control hidden: yes list: yes subscriptions: yes namespace: type: private separator: / prefix: ~/mail/Shared/ location: maildir:~/Maildir/Shared:INDEX=/var/mail/.dovecot-index/%1u/%u/shared:CONTROL=/var/mail/.dovecot-index/%1u/%u/shared-control hidden: yes list: yes subscriptions: yes namespace: type: private separator: / prefix: AutoFiled/ location: mbox:/archive/home/%1u/%u/mail/AutoFiled:INDEX=/var/mail/.dovecot-index/%1u/%u/ hidden: yes list: yes subscriptions: yes namespace: type: private separator: / prefix: mail/AutoFiled/ location: mbox:/archive/home/%1u/%u/mail/AutoFiled:INDEX=/var/mail/.dovecot-index/%1u/%u/ hidden: yes list: yes subscriptions: yes namespace: type: private separator: / prefix: ~/mail/AutoFiled/ location: mbox:/archive/home/%1u/%u/mail/AutoFiled:INDEX=/var/mail/.dovecot-index/%1u/%u/ hidden: yes list: yes subscriptions: yes namespace: type: private separator: / prefix: Prefs/ location: mbox:~:INDEX=MEMORY hidden: yes list: yes subscriptions: yes auth default: username_format: %Lu passdb: driver: pam args: session=yes * userdb: driver: passwd plugin: acl: vfile:
Any help would be great. Thanks!
- Tom Goerger - Email/Unix System Administrator *
- University of Minnesota Email: tmg@umn.edu *
- Operations, Infrastructure and Architecture Phone: 4-5804 *
- Internet Services Office: 626J WBOB *
On Fri, 2009-01-23 at 12:48 -0600, Thomas M Goerger wrote:
Jan 23 12:46:57 mars.tc.umn.edu imap(dump-capability): : [ID 817342 mail.error] dlopen(/opt/dovecot1.8/lib/dovecot/imap/lib01_acl_plugin.so) failed: ld.so.1: imap: fatal: relocation error: file /opt/dovecot1.8/lib/dovecot/imap/lib01_acl_plugin.so: symbol i_strcmp_p: referenced symbol not found
Your linker was trying to be smart and didn't include i_strcmp_p() function in imap binary, because it wasn't used anywhere in the imap binary itself. ACL plugin needs it, but since linker dropped it it's no longer there. The possibilities for how to fix this would be:
a) Modify linker flags so that it doesn't drop all these unused functions.
b) Move the i_strcmp_p() code to ACL plugin.
c) Use i_strcmp_p() somewhere in IMAP code.
d) Make liblib.a a shared library instead so that the linker won't try to drop useful stuff.
I think for now you should go with a), b) or c). The long term solution will be d), but I wasn't really planning on doing it soon.. Hmm. Maybe for v1.3.
Hi Timo,
I'd like to do option A, but I'm not certain as to what steps to take to do so. Could you let me know where the code for this function is located, and what might need to be done to link it? I'm not terribly familiar with the linker, so I'm having a bit of trouble figuring out what exactly needs to be done for the rebuild.
Thanks,
- Tom Goerger - Email/Unix System Administrator *
- University of Minnesota Email: tmg@umn.edu *
- Operations, Infrastructure and Architecture Phone: 4-5804 *
- Internet Services Office: 626J WBOB *
On Sun, 25 Jan 2009, Timo Sirainen wrote:
On Fri, 2009-01-23 at 12:48 -0600, Thomas M Goerger wrote:
Jan 23 12:46:57 mars.tc.umn.edu imap(dump-capability): : [ID 817342 mail.error] dlopen(/opt/dovecot1.8/lib/dovecot/imap/lib01_acl_plugin.so) failed: ld.so.1: imap: fatal: relocation error: file /opt/dovecot1.8/lib/dovecot/imap/lib01_acl_plugin.so: symbol i_strcmp_p: referenced symbol not found
Your linker was trying to be smart and didn't include i_strcmp_p() function in imap binary, because it wasn't used anywhere in the imap binary itself. ACL plugin needs it, but since linker dropped it it's no longer there. The possibilities for how to fix this would be:
a) Modify linker flags so that it doesn't drop all these unused functions.
b) Move the i_strcmp_p() code to ACL plugin.
c) Use i_strcmp_p() somewhere in IMAP code.
d) Make liblib.a a shared library instead so that the linker won't try to drop useful stuff.
I think for now you should go with a), b) or c). The long term solution will be d), but I wasn't really planning on doing it soon.. Hmm. Maybe for v1.3.
I guess you were using Sun compiler/linker? I don't know how to do a)
in it (well, actually I don't know how to do it in any linker, usually
they don't have such optimizations). Anyway the code is in src/lib/
strfuncs.c, just copy&paste it to some .c file in src/plugins/acl/
On Jan 27, 2009, at 11:53 AM, Thomas M Goerger wrote:
Hi Timo,
I'd like to do option A, but I'm not certain as to what steps to
take to do so. Could you let me know where the code for this function is
located, and what might need to be done to link it? I'm not terribly
familiar with the linker, so I'm having a bit of trouble figuring out what exactly
needs to be done for the rebuild.Thanks,
- Tom Goerger - Email/Unix System Administrator *
- University of Minnesota Email: tmg@umn.edu *
- Operations, Infrastructure and Architecture Phone: 4-5804 *
- Internet Services Office: 626J WBOB *
On Sun, 25 Jan 2009, Timo Sirainen wrote:
On Fri, 2009-01-23 at 12:48 -0600, Thomas M Goerger wrote:
Jan 23 12:46:57 mars.tc.umn.edu imap(dump-capability): : [ID 817342 mail.error] dlopen(/opt/dovecot1.8/lib/dovecot/imap/ lib01_acl_plugin.so) failed: ld.so.1: imap: fatal: relocation error: file /opt/dovecot1.8/lib/dovecot/imap/lib01_acl_plugin.so: symbol
i_strcmp_p: referenced symbol not foundYour linker was trying to be smart and didn't include i_strcmp_p() function in imap binary, because it wasn't used anywhere in the imap binary itself. ACL plugin needs it, but since linker dropped it
it's no longer there. The possibilities for how to fix this would be:a) Modify linker flags so that it doesn't drop all these unused functions.
b) Move the i_strcmp_p() code to ACL plugin.
c) Use i_strcmp_p() somewhere in IMAP code.
d) Make liblib.a a shared library instead so that the linker won't
try to drop useful stuff.I think for now you should go with a), b) or c). The long term
solution will be d), but I wasn't really planning on doing it soon.. Hmm.
Maybe for v1.3.
participants (2)
-
Thomas M Goerger
-
Timo Sirainen