RE: [Exim] compiling on mysql and rh9

Top Page
Delete this message
Reply to this message
Author: Simon Bell
Date:  
To: 'Tabor J. Wells'
CC: exim-users
Subject: RE: [Exim] compiling on mysql and rh9
OK. I have installed the mysql-devel rpm as suggested, and added
-lmysqlclient to my lookup libs, but im still getting errors saying it
cant find lmysqlclient and ive tried pointing it at a few different
locations:

mysql.c:31:49: mysql.h: No such file or directory
mysql.c:39: parse error before "MYSQL"
mysql.c:39: warning: no semicolon at end of struct or union
mysql.c:40: warning: data definition has no type or storage class
mysql.c:42: parse error before '*' token
mysql.c:42: warning: data definition has no type or storage class
mysql.c: In function `mysql_tidy':
mysql.c:69: `cn' undeclared (first use in this function)
mysql.c:69: (Each undeclared identifier is reported only once
mysql.c:69: for each function it appears in.)
mysql.c: In function `perform_mysql_search':
mysql.c:108: `MYSQL' undeclared (first use in this function)
mysql.c:108: `mysql_handle' undeclared (first use in this function)
mysql.c:109: `MYSQL_RES' undeclared (first use in this function)
mysql.c:109: `mysql_result' undeclared (first use in this function)
mysql.c:110: `MYSQL_ROW' undeclared (first use in this function)
mysql.c:110: parse error before "mysql_row_data"
mysql.c:111: `MYSQL_FIELD' undeclared (first use in this function)
mysql.c:111: `fields' undeclared (first use in this function)
mysql.c:119: `cn' undeclared (first use in this function)
mysql.c:205: warning: comparison between pointer and integer
mysql.c:272: `mysql_row_data' undeclared (first use in this function)
mysql.c:274: warning: initialization makes pointer from integer without
a cast
make[2]: *** [mysql.o] Error 1
make[2]: Leaving directory `/root/exim-4.20/build-Linux-i386/lookups'

make[2]: Entering directory `/root/exim-4.20/build-Linux-i386/routers'
gcc -c -O -I/usr/kerberos/include accept.c
gcc -c -O -I/usr/kerberos/include dnslookup.c
gcc -c -O -I/usr/kerberos/include ipliteral.c
gcc -c -O -I/usr/kerberos/include iplookup.c
gcc -c -O -I/usr/kerberos/include manualroute.c
gcc -c -O -I/usr/kerberos/include queryprogram.c
gcc -c -O -I/usr/kerberos/include redirect.c
gcc -c -O -I/usr/kerberos/include rf_change_domain.c
gcc -c -O -I/usr/kerberos/include rf_expand_data.c
gcc -c -O -I/usr/kerberos/include rf_get_errors_address.c
gcc -c -O -I/usr/kerberos/include rf_get_munge_headers.c
gcc -c -O -I/usr/kerberos/include rf_get_transport.c
gcc -c -O -I/usr/kerberos/include rf_get_ugid.c
gcc -c -O -I/usr/kerberos/include rf_lookup_hostlist.c
gcc -c -O -I/usr/kerberos/include rf_queue_add.c
gcc -c -O -I/usr/kerberos/include rf_self_action.c
gcc -c -O -I/usr/kerberos/include rf_set_ugid.c
/bin/rm -f routers.a
ar cq routers.a accept.o dnslookup.o ipliteral.o iplookup.o
manualroute.o queryprogram.o redirect.o rf_change_domain.o
rf_expand_data.o rf_get_errors_address.o rf_get_munge_headers.o
rf_get_transport.o rf_get_ugid.o rf_lookup_hostlist.o rf_queue_add.o
rf_self_action.o rf_set_ugid.o
ranlib routers.a
/bin/rm -rf ../drtables.o
make[2]: Leaving directory `/root/exim-4.20/build-Linux-i386/routers'

make[2]: Entering directory
`/root/exim-4.20/build-Linux-i386/transports'
gcc -c -O -I/usr/kerberos/include appendfile.c
gcc -c -O -I/usr/kerberos/include autoreply.c
gcc -c -O -I/usr/kerberos/include lmtp.c
gcc -c -O -I/usr/kerberos/include pipe.c
gcc -c -O -I/usr/kerberos/include smtp.c
/bin/rm -f transports.a
ar cq transports.a appendfile.o autoreply.o lmtp.o pipe.o smtp.o
ranlib transports.a
/bin/rm -rf ../drtables.o
make[2]: Leaving directory `/root/exim-4.20/build-Linux-i386/transports'

make[2]: Entering directory `/root/exim-4.20/build-Linux-i386/auths'
gcc -c -O -I/usr/kerberos/include b64encode.c
gcc -c -O -I/usr/kerberos/include b64decode.c
gcc -c -O -I/usr/kerberos/include call_pam.c
gcc -c -O -I/usr/kerberos/include call_pwcheck.c
gcc -c -O -I/usr/kerberos/include call_radius.c
gcc -c -O -I/usr/kerberos/include xtextencode.c
gcc -c -O -I/usr/kerberos/include xtextdecode.c
gcc -c -O -I/usr/kerberos/include get_data.c
gcc -c -O -I/usr/kerberos/include get_no64_data.c
gcc -c -O -I/usr/kerberos/include md5.c
gcc -c -O -I/usr/kerberos/include cram_md5.c
gcc -c -O -I/usr/kerberos/include plaintext.c
gcc -c -O -I/usr/kerberos/include pwcheck.c
gcc -c -O -I/usr/kerberos/include sha1.c
gcc -c -O -I/usr/kerberos/include auth-spa.c
gcc -c -O -I/usr/kerberos/include spa.c
/bin/rm -f auths.a
ar cq auths.a b64encode.o b64decode.o call_pam.o call_pwcheck.o
call_radius.o xtextencode.o xtextdecode.o get_data.o get_no64_data.o
md5.o cram_md5.o plaintext.o pwcheck.o sha1.o auth-spa.o spa.o
ranlib auths.a
/bin/rm -rf ../drtables.o
make[2]: Leaving directory `/root/exim-4.20/build-Linux-i386/auths'

gcc -c -O -I. -I/usr/kerberos/include acl.c
gcc -c -O -I. -I/usr/kerberos/include child.c
gcc -c -O -I. -I/usr/kerberos/include crypt16.c
gcc -c -O -I. -I/usr/kerberos/include daemon.c
gcc -c -O -I. -I/usr/kerberos/include dbfn.c
gcc -c -O -I. -I/usr/kerberos/include debug.c
gcc -c -O -I. -I/usr/kerberos/include deliver.c
gcc -c -O -I. -I/usr/kerberos/include directory.c
gcc -c -O -I. -I/usr/kerberos/include dns.c
gcc -c -O -I. -I/usr/kerberos/include drtables.c
gcc -c -O -I. -I/usr/kerberos/include enq.c
gcc -c -O -I. -I/usr/kerberos/include exim.c
gcc -c -O -I. -I/usr/kerberos/include expand.c
gcc -c -O -I. -I/usr/kerberos/include filter.c
gcc -c -O -I. -I/usr/kerberos/include filtertest.c
gcc -c -O -I. -I/usr/kerberos/include globals.c
gcc -c -O -I. -I/usr/kerberos/include header.c
gcc -c -O -I. -I/usr/kerberos/include host.c
gcc -c -O -I. -I/usr/kerberos/include ip.c
gcc -c -O -I. -I/usr/kerberos/include log.c
gcc -c -O -I. -I/usr/kerberos/include lss.c
gcc -c -O -I. -I/usr/kerberos/include match.c
gcc -c -O -I. -I/usr/kerberos/include moan.c
gcc -c -O -I. -I/usr/kerberos/include os.c
gcc -c -O -I. -I/usr/kerberos/include parse.c
gcc -c -O -I. -I/usr/kerberos/include queue.c
gcc -c -O -I. -I/usr/kerberos/include rda.c
gcc -c -O -I. -I/usr/kerberos/include readconf.c
gcc -c -O -I. -I/usr/kerberos/include receive.c
gcc -c -O -I. -I/usr/kerberos/include retry.c
gcc -c -O -I. -I/usr/kerberos/include rewrite.c
gcc -c -O -I. -I/usr/kerberos/include route.c
gcc -c -O -I. -I/usr/kerberos/include search.c
gcc -c -O -I. -I/usr/kerberos/include smtp_in.c
gcc -c -O -I. -I/usr/kerberos/include smtp_out.c
gcc -c -O -I. -I/usr/kerberos/include spool_in.c
gcc -c -O -I. -I/usr/kerberos/include spool_out.c
gcc -c -O -I. -I/usr/kerberos/include store.c
gcc -c -O -I. -I/usr/kerberos/include string.c
gcc -c -O -I. -I/usr/kerberos/include tls.c
In file included from tls.c:84:
tls-openssl.c: In function `tls_init':
tls-openssl.c:343: warning: assignment from incompatible pointer type
gcc -c -O -I. -I/usr/kerberos/include tod.c
gcc -c -O -I. -I/usr/kerberos/include transport.c
gcc -c -O -I. -I/usr/kerberos/include tree.c
gcc -c -O -I. -I/usr/kerberos/include verify.c
gcc -c -O -I. -o local_scan.o ../src/local_scan.c

awk '{ print ($1+1) }' cnumber.h > cnumber.temp
rm -f cnumber.h; mv cnumber.temp cnumber.h
gcc -c -O   -I/usr/kerberos/include version.c
rm -f exim
gcc -o exim  acl.o child.o crypt16.o daemon.o dbfn.o debug.o deliver.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 match.o moan.o os.o parse.o
queue.o rda.o readconf.o receive.o retry.o rewrite.o route.o search.o
smtp_in.o smtp_out.o spool_in.o spool_out.o store.o string.o tls.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    \
   -ldb -L/usr/lib -lmysqlclient  -lssl -lcrypto
/usr/bin/ld: cannot find -lmysqlclient
collect2: ld returned 1 exit status
make[1]: *** [exim] Error 1
make[1]: Leaving directory `/root/exim-4.20/build-Linux-i386'
make: *** [go] Error 2


~ Simon

-----Original Message-----
From: exim-users-admin@??? [mailto:exim-users-admin@exim.org] On
Behalf Of Tabor J. Wells
Sent: 09 June 2003 23:58
To: Simon Bell
Cc: exim-users@???
Subject: Re: [Exim] compiling on mysql and rh9


On Mon, Jun 09, 2003 at 10:49:51PM +0100,
Simon Bell <aooi58@???> is thought to have said:

> awk '{ print ($1+1) }' cnumber.h > cnumber.temp
> rm -f cnumber.h; mv cnumber.temp cnumber.h
> gcc -c -O -I/usr/kerberos/include version.c
> rm -f exim
> gcc -o exim acl.o child.o crypt16.o daemon.o dbfn.o debug.o deliver.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 match.o moan.o


> os.o parse.o queue.o rda.o readconf.o receive.o retry.o rewrite.o
> route.o search.o smtp_in.o smtp_out.o spool_in.o spool_out.o store.o
> string.o tls.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    \
>    -ldb   -lssl -lcrypto


You're missing -lmysqlclient here. I suspect you didn't add that to your
LOOKUP_LIBS (or uncomment the appropriate line) in Local/Makefile

--
--------------------------------------------------------------------
Tabor J. Wells                                     twells@???
Fsck It!                 Just another victim of the ambient morality


--

## List details at http://www.exim.org/mailman/listinfo/exim-users Exim
details at http://www.exim.org/ ##