[Dovecot] dovecot-auth consumes 100% CPU time on Solaris 10

Stephen Usher Stephen.Usher at earth.ox.ac.uk
Thu Nov 29 12:24:30 EET 2007


hello Mark,

Mark Heitmann wrote:
> In my $LD_LIBRARY_PATH /usr/lib is behind /usr/local/lib (for openldap), 
> although
> dovecot-auth was linked with the Solaris lib. The way that works for me 
> is the
> following LDFLAGS directive to the configure command, because the 
> --with-ldap
> flag has no directory option:
> 
> LDFLAGS=-L"/usr/local/BerkeleyDB/lib -L/usr/local/lib 
> /usr/local/lib/libldap-2.4.so.2"
> 
> Is there a smarter way to link with the right lib and ignore the solaris 
> one?

Firstly, on Solaris *NEVER* have LD_LIBRARY_PATH or LD_RUN_PATH set when 
compiling, it's just a whole world of pain that you don't need. Basically, the 
Solaris linker will forget where the libraries you linked to were if you have 
either of these environment variables set at link time. The runtime linker will 
only have its own list to fall back upon, which will be /usr/lib.

Here's how to work around it:-

In the LDFLAGS use:

LDFLAGS="-L/usr/local/BerkeleyDB/lib -R/usr/local/BerkeleyDB/lib 
-L/usr/local/lib -R/usr/local/lib"

Now, assuming that LD_LIBRARY_PATH is not defined, the linker will store in the 
resulting binary the correct search path for libraries in the correct order.

Steve
-- 
---------------------------------------------------------------------------
Computer Systems Administrator,                E-Mail:-steve at earth.ox.ac.uk
Department of Earth Sciences,                     Tel:-  +44 (0)1865 282110
University of Oxford, Parks Road, Oxford, UK.     Fax:-  +44 (0)1865 272072


More information about the dovecot mailing list