Autor: Craig Jackson Data: Dla: Brian Candler, exim-users CC: Temat: Re: [exim] message frozen manualroute
Brian Candler wrote: > On Tue, Apr 26, 2005 at 09:56:02PM -0500, Craig Jackson wrote:
>
>>However, running with -d was very helpful. Message was: could not find
>>libmysqlclient library. It gave me this message at start up, but I fixed
>>by setting LD_LIBRARY_PATH=/path/to/mysqllibs. Mysql lookups work very
>>well in the acl section. Also, I compiled Exim with Mysql -- no trouble.
>>Why can it not find the libs?
>>
>>Mysql is 4.1.11.
>>Exim is 4.50 with exiscan.
>>Platform is Ubuntu on amd64 (64bit) both of which I am new to.
>
>
> Never heard of Ubuntu, I presume it is a flavour of Unix.
>
> You need to either:
>
> (1) Build your Exim binary such that it knows where to find the library at
> run time. The usual way to do this is to set
>
> LD_RUN_PATH=/path/to/mysqllibs
>
> in the environment before building. (At least, this works if you are using
> GNU gcc and binutils)
>
> (2) Alternatively, you can configure your Unix loader so that
> /path/to/mysqllibs is in your permanent library path.
>
> For Solaris: See "man crle"
> For FreeBSD: See "man ldconfig"
> For Linux: I think it goes in /etc/ld.so.conf (it's been a while since I
> used Linux)
>
> Otherwise, as you've found, the library won't be found unless you set the
> LD_LIBRARY_PATH environment variable at runtime, and to be sure this always
> happens you'd need always to start exim from a script, which is annoying.
> And then, when Exim re-execs itself, I'm not sure if this environment
> variable is kept or not, so it's a dangerous way to work anyway.
>
> Regards,
>
> Brian. Thanks for your reply. I have worked on Solaris but did not know how to
add the library to the system cache in Ubuntu but have since found out.
I used Ubuntu in this situation because it fully supports amd64 and is
based on Debian. Debian does not fully support amd64 yet.
The system library cache package in 32 bit was ld.so, now it's
ld.so.preload-manager FYI