[Dovecot] Problem with dovecot config
Timo Sirainen
tss at iki.fi
Fri Jan 30 01:33:15 EET 2009
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 at 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.
>>
More information about the dovecot
mailing list