[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