[Dovecot] expire plugin with 1.2 cronjob undefined symbol: capability_string / ignoring virtual namespace ?

Robert Schetterer robert at schetterer.org
Fri Jul 10 13:22:31 EEST 2009


Robert Schetterer schrieb:
> Robert Schetterer schrieb:
>> dovecot at dovecot.org schrieb:
>>> Hi,
>>>
>>> this looks like one of my queued problems:
>>>
>>> On AIX I get a message that indicates missing global symbols.
>>>
>>> For example "client_read_args". It is defined in src/imap/client.c but
>>> just linked at build time to the "imap" executable, while the
>>> "expire-tool" does not provide this function.
>>>
>>> Does expire-tool require the plugins "quota" and "quota_imap" at all?
>>>
>>> Is it the same issue or just another AIX specific problem I've to fix? :-)
>>>
>>> Ralf
>>>
>>>
>>> This is what the AIX runtime linker outputs:
>>>
>>> # /usr/local/dovecot-1.2.dev/sbin/dovecot \
>>>     --exec-mail ext \
>>>     /usr/local/dovecot-1.2.dev/libexec/dovecot/expire-tool \
>>>      --test
>>>
>>> Info: Loading modules from directory:
>>>      /usr/local/dovecot-1.2.dev/lib/dovecot/imap
>>> Info: Module loaded:
>>>      /usr/local/dovecot-1.2.dev/lib/dovecot/imap/lib10_quota_plugin.so
>>> Error:
>>> dlopen(/usr/local/dovecot-1.2.dev/lib/dovecot/imap/lib11_imap_quota_plugin.so)
>>> failed: rtld: 0712-001 Symbol client_read_args was referenced
>>>       from module
>>> /usr/local/dovecot-1.2.dev/lib/dovecot/imap/lib11_imap_quota_plugin.so(),
>>>       but a runtime definition of the symbol was not found.
>>> rtld: 0712-001 Symbol client_send_command_error was referenced
>>>       from module
>>> /usr/local/dovecot-1.2.dev/lib/dovecot/imap/lib11_imap_quota_plugin.so(),
>>>       but a runtime definition of the symbol was not found.
>>> rtld: 0712-001 Symbol client_send_tagline was referenced
>>>       from module
>>> /usr/local/dovecot-1.2.dev/lib/dovecot/imap/lib11_imap_quota_plugin.so(),
>>>       but a runtime definition of the symbol was not found.
>>> rtld: 0712-001 Symbol command_register was referenced
>>>       from module
>>> /usr/local/dovecot-1.2.dev/lib/dovecot/imap/lib11_imap_quota_plugin.so(),
>>>       but a runtime definition of the symbol was not found.
>>> rtld: 0712-001 Symbol capability_string was referenced
>>>       from module
>>> /usr/local/dovecot-1.2.dev/lib/dovecot/imap/lib11_imap_quota_plugin.so(),
>>>       but a runtime definition of the symbol was not found.
>>> rtld: 0712-001 Symbol command_unregister was referenced
>>>       from module
>>> /usr/local/dovecot-1.2.dev/lib/dovecot/imap/lib11_imap_quota_plugin.so(),
>>>       but a runtime definition of the symbol was not found.
>>> rtld: 0712-001 Symbol client_send_line was referenced
>>>       from module
>>> /usr/local/dovecot-1.2.dev/lib/dovecot/imap/lib11_imap_quota_plugin.so(),
>>>       but a runtime definition of the symbol was not found.
>>> Additional errors occurred but are not reported.
>>> Fatal: Couldn't load required plugins
>>>
>>>
>>> Robert Schetterer schrieb am 08.07.2009 11:13:
>>>> Hi,
>>>> sorry if this asked twice,
>>>> i ve searched the list and found some equal posts, but couldnt
>>>> get my problem fixed with it
>>>>
>>>> if running cronjob with expire ( using mysql )
>>>> i get
>>>>
>>>> dovecot -c /etc/dovecot/dovecot.conf --exec-mail ext
>>>> /usr/lib/dovecot/expire-tool --test
>>>> Info: Loading modules from directory: /usr/lib/dovecot/modules/imap
>>>> Info: Module loaded: /usr/lib/dovecot/modules/imap/lib01_acl_plugin.so
>>>> Error: dlopen(/usr/lib/dovecot/modules/imap/lib02_imap_acl_plugin.so)
>>>> failed: /usr/lib/dovecot/modules/imap/lib02_imap_acl_plugin.so:
>>>> undefined symbol: capability_string
>>>> Fatal: Couldn't load required plugins
>>>>
>>>> someone tips how to fix it ?
>>>> perhaps problems relate to mail_location settings?
>>>>
>>>> dovecot --version
>>>> 1.2.rc8
>>>>
>> Hm, I ve read
>>
>> http://dovecot.org/pipermail/dovecot/2009-June/040126.html
>>
>> and used this script ( only problem to original was case sensitve
>> mail_plugins)
>>
>> #!/bin/bash
>> MAIL_PLUGINS=${mail_plugins//imap_quota/}
>> /usr/lib/dovecot/expire-tool $1
>>
>> now it runs
>> dovecot -c /etc/dovecot/dovecot.conf --exec-mail ext
>> /usr/sbin/expire-tool.sh --test
>> Info: Loading modules from directory: /usr/lib/dovecot/modules/imap
>> Info: robert at schetterer.com/Trash: stop, expire time in future: Wed Jul
>> 15 10:34:39 2009
>>
>> but i still have to test if there is a real delete
> 
> now that i run the cronjob
> it stops before deleting
> cause of hanging with virtual namespace
> it should be possible to ignore ( not honor ) this with the script
> but for now i hung with how to, can somebody help ?
> 
> dovecot -c /etc/dovecot/dovecot.conf --exec-mail ext
> /usr/sbin/expire-tool.sh
> Info: Loading modules from directory: /usr/lib/dovecot/modules/imap
> Info: auth input:
> home=maildir:/usr/local/virtual/schetterer.com/robert at schetterer.com/
> Info: auth input: quota_rule=*:bytes=10240000
> Info: auth input: quota_rule2=Trash:storage=50240
> Info: auth input: quota_rule3=Sent:storage=50240
> Info: auth input: quota_rule4=Drafts:storage=50240
> Info: auth input: quota_rule5=Templates:storage=50240
> Info: auth input: quota_rule6=Junk:storage=50240
> Info: auth input:
> mail=maildir:/usr/local/virtual/schetterer.com/robert at schetterer.com/
> Info: auth input: namespace_1_inbox=yes
> Info: auth input: uid=1001
> Info: auth input: gid=1001
> Info: Namespace: type=private, prefix=, sep=/, inbox=yes, hidden=no,
> list=yes, subscriptions=yes
> Info: maildir:
> data=/usr/local/virtual//root/:CONTROL=/usr/local/virtual//root/:INDEX=/usr/local/virtual//root/:INBOX=/usr/local/virtual//root/
> Info: maildir++: root=/usr/local/virtual//root, index=, control=,
> inbox=/usr/local/virtual//root
> Info: Namespace: type=private, prefix=virtual/, sep=/, inbox=no,
> hidden=yes, list=(null), subscriptions=no
> Error: Namespace 'virtual/': Unknown mail storage driver virtual
> 
> 
> 
 seems like
#!/bin/bash
MAIL_PLUGINS='virtual'
MAIL_PLUGIN_DIR='/usr/lib/dovecot/modules/imap'
/usr/lib/dovecot/expire-tool $1

works, waiting for deleting now

dovecot -c /etc/dovecot/dovecot.conf --exec-mail ext
/usr/sbin/expire-tool.sh --test
Info: Loading modules from directory: /usr/lib/dovecot/modules/imap
Info: Module loaded: /usr/lib/dovecot/modules/imap/lib20_virtual_plugin.so
Info: robert at schetterer.com/Trash: stop, expire time in future: Sat Jul
11 11:47:35 2009

-- 
Best Regards

MfG Robert Schetterer

Germany/Munich/Bavaria


More information about the dovecot mailing list