At 10:15 18/12/2002 -0800, Paul Theodoropoulos wrote:
go into the Makefile, and add -lsocket to the LIBS declaration. That ought to do the trick. if not, then move the calls to -lz -lm and -lcrypt on the lib_deps declaration line to be before the call to -lmysqlclient.Thanks Paul, I appreciate it. By adding -lsocket I was able to reduce the number of errors but not all.. by moving the -lz -lm and -lcrypt to the lib_deps line, no change.
I did a google search and noticed I had to use "-lnsl" to rid myself of the "inet_ntoa" error.
For the getline() error, I installed efilter from the EPS tools package available from Inter7, since the error originated from (useless to me) code that uses efilter. I tried editing that code out, and vqadmin did work - but would error out when modifying domains.
I haven't been able to locate a getline() function on the box in question (it is usually in stdio.h) .. I installed the gettext package from source and pre-compiled from Sunfreeware.com, to no avail. I manually edited domain.c to include "libintl.h" (which includes the gettext function), to no avail. (Also told it to try #include <libintl.h> instead of using quotes)...
I'm running out of ideas.
-- Steve
At 09:29 AM 12-18-2002, Steve Fulton wrote:Hi all,
I've had this problem since October, and thankfully I've been able to work around it until now. Unfortunately, I must now deal with this. Though the problem is identical to the one in the archives from October, I'll repost. And for pete's sake, if anyway has any ideas, please let me know -- I'm at wits end.
When I try to compile under Solaris, I get these errors:
bash-2.03# make
make all-recursive
make[1]: Entering directory `/usr/local/src/mail/vqadmin-2.3.4'
make[2]: Entering directory `/usr/local/src/mail/vqadmin-2.3.4'
gcc -g -O2 -Wall -o vqadmin vqadmin.o cgi.o template.o global.o acl.o misc.o domain.o lang.o user.o cedit.o -L/var/vpopmail/lib -lvpopmail -L/usr/local/mysql/lib/mysql/ -R/usr/local/mysql/lib/mysql -lmysqlclient -lz -lz -lm -lcrypt
Undefined first referenced
symbol in file
socket /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.1/../../../libmysqlclient.a(libmysql.o)
getpeername /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.1/../../../libmysqlclient.a(violite.o)
gethostbyname_r /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.1/../../../libmysqlclient.a(libmysql.o)
setsockopt /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.1/../../../libmysqlclient.a(violite.o)
getservbyname /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.1/../../../libmysqlclient.a(libmysql.o)
getsockopt /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.1/../../../libmysqlclient.a(libmysql.o)
inet_addr /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.1/../../../libmysqlclient.a(libmysql.o)
inet_ntoa /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.1/../../../libmysqlclient.a(my_net.o)
shutdown /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.1/../../../libmysqlclient.a(violite.o)
getline domain.o
connect /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.1/../../../libmysqlclient.a(libmysql.o)
ld: fatal: Symbol referencing errors. No output written to vqadmin
collect2: ld returned 1 exit status
make[2]: *** [vqadmin] Error 1
make[2]: Leaving directory `/usr/local/src/mail/vqadmin-2.3.4'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/mail/vqadmin-2.3.4'
make: *** [all-recursive-am] Error 2
The paths are correct, I've added the infamous -R switch to the Makefile manually, and the LD_LIBRARY_PATH environment variable is set correctly. What else can I do?
-- Steve
Paul Theodoropoulos http://www.anastrophe.com http://folding.stanford.edu The Nicest Misanthrope on the Net
