Re: [Exim] Exim 4.01 with MySQL Support

Top Page
Delete this message
Reply to this message
Author: Phil Pennock
Date:  
To: Tobias Kuhrmann
CC: exim-users
Subject: Re: [Exim] Exim 4.01 with MySQL Support
On 2002-03-27 at 02:03 +0100, Tobias Kuhrmann wrote:
>   auths/auths.a \
>   -lresolv -lnsl -lcrypt    \
>    -ldb -L/usr/local/lib -lmysqlclient


Those last two lines are the link instructions to the compiler.

> lookups/lookups.a(mysql.o): In function `perform_mysql_search':
> mysql.o(.text+0x230): undefined reference to `mysql_error'
> mysql.o(.text+0x2dc): undefined reference to `mysql_error'
> mysql.o(.text+0x308): undefined reference to `mysql_error'
> mysql.o(.text+0x330): undefined reference to `mysql_num_fields'
> mysql.o(.text+0x33c): undefined reference to `mysql_fetch_fields'
> collect2: ld returned 1 exit status


That's the compiler's linker complaining that, for the file mysql.o, it
can't figure out where some functions/variables should go.

Those are things which will be coming from the mysqlclient library.

> it's a sun ultrasparc machine with debian 2.2.19 running...
> would be fine if anyone can help me out ;>


Either
$ locate libmysqlclient"
or use the package management tools to find out where the stuff is
installed.

Take the name of the directory where the library is. For example
purposes, say that you have:
/usr/local/lib/foobarwibble/libmysqlclient.so
so take "/usr/local/lib/foobarwibble"

In the Exim source area, edit Local/Makefile. Find the line with
"-lmysqlclient". Just before it, stick in "-L" followed immediately (no
whitespace) by that directoryname. "-L/usr/local/lib/foobarwibble". If
there's no other libraries in /usr/local/lib which you need, then remove
that -L... option.

So you'd probably have something like:
LOOKUP_LIBS=-L/usr/local/lib/foobarwibble -lmysqlclient

Than try again.
--
Intaxication: Euphoria at getting a tax refund, which lasts
until you realize it was your money to start with.