From: Gontran To: plug-discuss@lists.plug.phoenix.az.us Subject: Re: Compile & Link error Send reply to: plug-discuss@lists.plug.phoenix.az.us Date sent: Sat, 23 Mar 2002 01:19:42 -0700 > * Gene Holmerud (geneous@bigfoot.com) wrote: > > I'm trying to compile & link an example for mysql access from C code > > using the command: > > > > gcc -L/usr/local/mysql/lib -I/usr/local/mysql/include -o select \ > > select.c -lmysql -lnsl -lsocket > > > > I get error messages: > > > > select.c: In function `main': > > select.c:5: warning: return type of `main' is not `int' <-OK > > /usr/bin/ld: cannot find -lmysql > > collect2: ld returned 1 exit status > > > > I looked in /usr/local/mysql/lib and saw *.a's, so figured I was OK > > that way. If I omit the -lmysql in the command, it doesn't object to > > the -lnsl, but fails on -lsocket. What am I missing? > > believe you are looking for '-lmysqlclient' instead of '-lmysql'. I > don't believe you need a socket library linked ... sockets are part of > the glibc (to the best of my understanding). Looks ok otherwise. > > hth, > Gontran Thanks. The gcc command came out of O'reilly book "MySQL & mSQL". After sending this, I kept looking and found libmysqlclient.a, leading to your answer. And I do have glibc ver 2.2.4 (plus devel pkg) installed. Great, except without the -lsocket param, I get unresolved references to 'compress' and 'uncompress' from a mysqllib routine. I found many references to those routines in many lib*.a's so they should be resolved somewhere!, shouldn't they? Gene