[Exim] exim 4.30 build errors in MySQL

Top Page
Delete this message
Reply to this message
Author: Dan Egli
Date:  
To: exim-users
Subject: [Exim] exim 4.30 build errors in MySQL
I'm more than a little stumped here. I'm trying to compile a Exim 4.30
someone designed (I need to compile it vs using the binary because they
did not enable MySQL support and they have a whole ton of things I'll
never use). It compiles fine, UNTIL it gets to compile the exim binary.
Then it dies with being unable to find the mysql_* functions. Here's a dump:

gcc -o exim -rdynamic -ldl acl.o child.o crypt16.o daemon.o dbfn.o
debug.o deliver.o demime.o directory.o dns.o drtables.o enq.o exim.o
expand.o filter.o filtertest.o globals.o header.o host.o ip.o log.o
lss.o malware.o match.o moan.o os.o parse.o queue.o rda.o readconf.o
receive.o regex.o retry.o rewrite.o rfc2047.o route.o search.o sieve.o
smtp_in.o smtp_out.o spam.o spool_in.o spool_mbox.o spool_out.o store.o
string.o tls.o tnef.o tod.o transport.o tree.o verify.o local_scan.o
version.o \
   pcre/libpcre.a \
   routers/routers.a transports/transports.a lookups/lookups.a \
   auths/auths.a \
   -lresolv -lnsl -lcrypt    \
   -lwrap -lpam -ldl -ldb --lmysqlclient  -lssl -lcrypto
lookups/lookups.a(mysql.o)(.text+0x45): In function `mysql_tidy':
/usr/src/redhat/BUILD/exim-4.30/build-Linux-i386/lookups/mysql.c:74:
undefined reference to `mysql_close'
lookups/lookups.a(mysql.o)(.text+0x23a): In function `perform_mysql_search':
/usr/src/redhat/BUILD/exim-4.30/build-Linux-i386/lookups/mysql.c:201:
undefined reference to `mysql_init'
lookups/lookups.a(mysql.o)(.text+0x252):/usr/src/redhat/BUILD/exim-4.30/build-Linux-i386/lookups/mysql.c:202:
undefined reference to `mysql_real_connect'
lookups/lookups.a(mysql.o)(.text+0x262):/usr/src/redhat/BUILD/exim-4.30/build-Linux-i386/lookups/mysql.c:207:
undefined reference to `mysql_error'
lookups/lookups.a(mysql.o)(.text+0x2f1):/usr/src/redhat/BUILD/exim-4.30/build-Linux-i386/lookups/mysql.c:234:
undefined reference to `mysql_query'
lookups/lookups.a(mysql.o)(.text+0x301):/usr/src/redhat/BUILD/exim-4.30/build-Linux-i386/lookups/mysql.c:236:
undefined reference to `mysql_error'
lookups/lookups.a(mysql.o)(.text+0x315):/usr/src/redhat/BUILD/exim-4.30/build-Linux-i386/lookups/mysql.c:248:
undefined reference to `mysql_use_result'
lookups/lookups.a(mysql.o)(.text+0x328):/usr/src/redhat/BUILD/exim-4.30/build-Linux-i386/lookups/mysql.c:250:
undefined reference to `mysql_field_count'
lookups/lookups.a(mysql.o)(.text+0x351):/usr/src/redhat/BUILD/exim-4.30/build-Linux-i386/lookups/mysql.c:253:
undefined reference to `mysql_affected_rows'
lookups/lookups.a(mysql.o)(.text+0x36e):/usr/src/redhat/BUILD/exim-4.30/build-Linux-i386/lookups/mysql.c:256:
undefined reference to `mysql_error'
lookups/lookups.a(mysql.o)(.text+0x39d):/usr/src/redhat/BUILD/exim-4.30/build-Linux-i386/lookups/mysql.c:265:
undefined reference to `mysql_num_fields'
lookups/lookups.a(mysql.o)(.text+0x3ab):/usr/src/redhat/BUILD/exim-4.30/build-Linux-i386/lookups/mysql.c:270:
undefined reference to `mysql_fetch_fields'
lookups/lookups.a(mysql.o)(.text+0x3c1):/usr/src/redhat/BUILD/exim-4.30/build-Linux-i386/lookups/mysql.c:274:
undefined reference to `mysql_fetch_lengths'
lookups/lookups.a(mysql.o)(.text+0x5ac):/usr/src/redhat/BUILD/exim-4.30/build-Linux-i386/lookups/mysql.c:286:
undefined reference to `mysql_fetch_row'
lookups/lookups.a(mysql.o)(.text+0x5ed):/usr/src/redhat/BUILD/exim-4.30/build-Linux-i386/lookups/mysql.c:339:
undefined reference to `mysql_free_result'
collect2: ld returned 1 exit status
make[1]: *** [exim] Error 1
make[1]: Leaving directory
`/usr/src/redhat/BUILD/exim-4.30/build-Linux-i386'
make: *** [go] Error 2



I'm stumped. I've run make clean, and even rm -rf'ed the
build-Linux-i386 directory. Nothing works. It's like it's not linking in
the libmysqlclient, but I cannot for the life of me understand why it
would not.

any help is greatly appreciated here!

--- Dan