Re: [exim] Exim + MySQL

Top Page
Delete this message
Reply to this message
Author: David S. Madole
Date:  
To: Exim Users Mailing List
Subject: Re: [exim] Exim + MySQL
From: "Peter Bowyer" <peter@???>
>
> Matt Jones <matt@???> wrote:
>> Hello there
>>
>> For a long time now i have been using Exim compiled with MySQL support
>>
>> recently i changed my MySQL from 4.0 to 4.1
>
> The Exim build compiles in the MySQL code at compile-time. If you make
> a
> change to MySQL which isn't backward-compatible (ie the old client
> libraries
> won't continue to work), you should re-build Exim with the new client
> libraries.


Not on my system it doesn't -- MySQL support is compiled against the
dynamic MySQL client library.

Maybe this is architecture-specific? From my FreeBSD-5.3 system
(FreeBSD-4.x is the same):

# ldd exim
exim:
        libcrypt.so.2 => /lib/libcrypt.so.2 (0x28108000)
        libmysqlclient.so.12 => /usr/local/lib/libmysqlclient.so.12 
(0x28120000)
        libssl.so.3 => /usr/lib/libssl.so.3 (0x28145000)
        libcrypto.so.3 => /lib/libcrypto.so.3 (0x28173000)
        libc.so.5 => /lib/libc.so.5 (0x28268000)
        libz.so.2 => /lib/libz.so.2 (0x28341000)
        libm.so.3 => /lib/libm.so.3 (0x28351000)


>> secondly, is there a way to statically include all the libaries into
>> the binary so that it doesn't go crazy when jumping from a major
>> version in the future


You'll notice the ".12" in the libmysqlclient library above. This number
is supposed to change any time the library changes in a way that is
incompatible with the old one. That way, programs compiled against an old
version will continue to use an old version, and a newer version can be
installed without affecting this relationship.

Again, maybe this is platform specific and the original poster's system
does not support versioned dynamic libraries? I do know that many details
of dynamic libraries differ from os to os.

David


**