i seem to be having trouble recompiling my bot. i've done make iconfig (also tried make config), and those work fine, but when i do make i get the following during linking:
Try make clean remove your eggdrop folder. untar from scratch and try to recompile again. If this doesn't fix your problem the please post with what OS you are trying to compile on and what version of TCL is currently installed.
The lifecycle of a noob is complex. Fledgling noobs gestate inside biometric pods. Once a budding noob has matured thru gestation they climb out of their pod, sit down at a PC, ask a bunch of questions that are clearly in the FAQ, The Noob is born
how do i get specific OS info? i'm using a shell provider, and i know they're running a recent version of FreeBSD, but i'm not sure what exactly. looking at the ./configure output i see
checking for Tcl library... found /usr/local/lib/libtcl83.so
checking for Tcl header... found /usr/local/include/tcl8.3/tcl.h
so i'm assuming that means TCL 8.3 is installed
i've tried untar-ing everything from scratch, and it still gives me problems. i find this most odd, because i've compiled an eggdrop on this server before... what's up with that Makefile.generic thing? i've never seen (or at least noticed) a reference to that before now...
yes odd indeed i have never seen that error either.
Try using gmake instead of make.
The lifecycle of a noob is complex. Fledgling noobs gestate inside biometric pods. Once a budding noob has matured thru gestation they climb out of their pod, sit down at a PC, ask a bunch of questions that are clearly in the FAQ, The Noob is born
still no go. however, watching the make iconfig output, i did catch this: i386-unknown-freebsd4.7 - so i'm assuming it's FreeBSD 4.7
i took out the megahal mod and that seems to be changing the error... looks like megahal is a culprit (i have a slightly older version already compiled so i'll just use that). however, i still get errors on make - this time with the mysql module:
gcc -pipe -fPIC -g -O2 -Wall -I. -I../../.. -I../../.. -I../../../src/mod -DHAV
E_CONFIG_H `mysql_config --cflags` -DMAKING_MODS -c .././mysql.mod/mysql.c
In file included from ../mysql.mod/mysql_mod.h:32,
from .././mysql.mod/mysql.c:24:
../../../src/mod/module.h:190: warning: `list_delete' redefined
../mysql.mod/mysql_mod.h:31: warning: this is the location of the previous definition
In file included from .././mysql.mod/mysql.c:24:
../mysql.mod/mysql_mod.h:34: mysql/mysql.h: No such file or directory
.././mysql.mod/mysql.c:31: syntax error before `*'
.././mysql.mod/mysql.c:31: warning: type defaults to `int' in declaration of `dbc'
.././mysql.mod/mysql.c:31: warning: data definition has no type or storage class
.././mysql.mod/mysql.c: In function `tcl_mysql_connect':
.././mysql.mod/mysql.c:152: warning: implicit declaration of function `mysql_init'
.././mysql.mod/mysql.c:152: warning: assignment makes pointer from integer without a cast
.././mysql.mod/mysql.c:166: warning: implicit declaration of function `mysql_real_connect'
.././mysql.mod/mysql.c:171: warning: implicit declaration of function `mysql_error'
.././mysql.mod/mysql.c:171: warning: passing arg 2 of `Tcl_AppendToObj' makes pointer from integer without a cast
.././mysql.mod/mysql.c: In function `tcl_mysql_query':
.././mysql.mod/mysql.c:200: `MYSQL_RES' undeclared (first use in this function)
.././mysql.mod/mysql.c:200: (Each undeclared identifier is reported only once
.././mysql.mod/mysql.c:200: for each function it appears in.)
.././mysql.mod/mysql.c:200: `result' undeclared (first use in this function)
.././mysql.mod/mysql.c:200: warning: statement with no effect
.././mysql.mod/mysql.c:201: syntax error before `unsigned'
.././mysql.mod/mysql.c:209: warning: implicit declaration of function `mysql_query'
.././mysql.mod/mysql.c:212: warning: passing arg 2 of `Tcl_AppendToObj' makes pointer from integer without a cast
.././mysql.mod/mysql.c:218: warning: implicit declaration of function `mysql_store_result'
.././mysql.mod/mysql.c:220: `fields' undeclared (first use in this function)
.././mysql.mod/mysql.c:220: warning: implicit declaration of function `mysql_num_fields'
.././mysql.mod/mysql.c:224: `row' undeclared (first use in this function)
.././mysql.mod/mysql.c:224: warning: implicit declaration of function `mysql_fetch_row'
.././mysql.mod/mysql.c:227: `x' undeclared (first use in this function)
.././mysql.mod/mysql.c:233: warning: implicit declaration of function `mysql_free_result'
.././mysql.mod/mysql.c: In function `tcl_mysql_escape':
.././mysql.mod/mysql.c:267: warning: implicit declaration of function `mysql_real_escape_string'
.././mysql.mod/mysql.c:268: warning: implicit declaration of function `mysql_escape_string'
.././mysql.mod/mysql.c: In function `tcl_mysql_errno':
.././mysql.mod/mysql.c:283: warning: implicit declaration of function `mysql_errno'
.././mysql.mod/mysql.c: In function `tcl_mysql_ping':
.././mysql.mod/mysql.c:295: warning: implicit declaration of function `mysql_ping'
.././mysql.mod/mysql.c: In function `tcl_mysql_connectioninfo':
.././mysql.mod/mysql.c:306: syntax error before `*'
.././mysql.mod/mysql.c:308: `objs' undeclared (first use in this function)
.././mysql.mod/mysql.c:316: `count' undeclared (first use in this function)
.././mysql.mod/mysql.c: In function `tcl_mysql_insert_id':
.././mysql.mod/mysql.c:332: warning: implicit declaration of function `mysql_insert_id'
.././mysql.mod/mysql.c: In function `tcl_mysql_affected_rows':
.././mysql.mod/mysql.c:354: warning: implicit declaration of function `mysql_affected_rows'
.././mysql.mod/mysql.c: In function `closedb':
.././mysql.mod/mysql.c:362: warning: implicit declaration of function `mysql_close'
*** Error code 1
Stop in /usr/home/*****/eggdrop1.6.17/src/mod/mysql.mod.
*** Error code 1
Stop in /usr/home/*****/eggdrop1.6.17/src/mod.
*** Error code 1
Stop in /usr/home/*****/eggdrop1.6.17.
doh! is there any way to set up the mysql module without having mysql installed on that machine? i was intending to use another DB server anyways -_-
thanks for your help
p.s. i've already tried mysqltcl, and have been unable to get it to work. when i contacted my shell provider, he said he's never had any luck getting it to work either... maybe it just doesn't like freebsd?
oi... so any thoughts on what to do? all i wanna do is make my eggdrop on server A talk to my mySQL server on server B! is it really THAT difficult?
can't i just take the mysql.h that it's looking for and give it to it manually or something? it seems kinda unnecessarily limiting to require a user to have mysql installed on the same box as their eggdrop just to compile the module...
then you need to install mySQL client libraries only (mysql.h alone won't do)
download mySQL sources and ./configure --prefix=/home/you/mysql --without-server
naturally, when compiling mysql.mod afterwards, you'll have to specify the location of mySQL header (mysql.h) and client libraries - under directory /home/you/mysql
demond wrote:naturally, when compiling mysql.mod afterwards, you'll have to specify the location of mySQL header (mysql.h) and client libraries - under directory /home/you/mysql
how do i specify that? sorry for being a n00b, but the most i've done with eggdrop until now is write TCL scripts
I've never used mysql.mod, but there might be some conf option, or in the absence of such you'll have to manually fix Makefile with correct pathnames for mysql.h and client libraries