While linking my bot (compiling works ok) I get the following errors:
Linking eggdrop...
gcc -pipe -o ../eggdrop bg.o botcmd.o botmsg.o botnet.o chanprog.o cmds.o dcc.o
dccutil.o dns.o flags.o language.o main.o mem.o misc.o misc_file.o modules.o net
.o rfc1459.o tcl.o tcldcc.o tclhash.o tclmisc.o tcluser.o userent.o userrec.o us
ers.o -L/usr/lib -ltcl -lm -ldl -lnsl md5/md5c.o compat/*.o `cat mod/mod.xlibs
`
tcl.o: In function `utf_converter':
/home/juba/temp/eggdrop1.6.9/src/tcl.c:310: undefined reference to `Tcl_GetByteA
rrayFromObj'
tcl.o: In function `init_tcl':
/home/juba/temp/eggdrop1.6.9/src/tcl.c:601: undefined reference to `Tcl_UtfToLow
er'
/home/juba/temp/eggdrop1.6.9/src/tcl.c:602: undefined reference to `Tcl_SetSyste
mEncoding'
/home/juba/temp/eggdrop1.6.9/src/tcl.c:616: undefined reference to `Tcl_SetSyste
mEncoding'
/home/juba/temp/eggdrop1.6.9/src/tcl.c:629: undefined reference to `Tcl_GetEncod
ing'
tclmisc.o: In function `tcl_md5':
/home/juba/temp/eggdrop1.6.9/src/tclmisc.c:598: undefined reference to `Tcl_GetB
yteArrayFromObj'
collect2: ld returned 1 exit status
make[1]: *** [../eggdrop] Error 1
make[1]: Leaving directory `/home/juba/temp/eggdrop1.6.9/src'
make: *** [modegg] Error 2
The tcl is version 8.4 and ./configure didn't report any errors.. I also have 1.4.4 running on the same machine which I compiled with no errors about a year ago.
The error messages seem to suggest something wrong with Tcl, but I can't figure out what.
Also, there was no reference to this case in compiling.FAQ.
looks like your tcl.h is out of sync with your tcl libs. find the ones you know are tcl8.4 and use --with-tclinc and --with-tcllib to specify them instead of relying on autodetect.
./eggdrop: error in loading shared libraries: libtcl8.4.so: cannot open shared object file: No such file or directory
make: *** [modegg] Error 127
I checked, double checked and then checked again and the path to libtcl8.4.so is definitely correct...
While searching for the right pair of libtcl and tcl.h, I found references to several versions of tcl. I wonder if the system operator has messed it up.
libtcl8.4.so isnt in one of the system's standard library dirs (/lib /usr/lib /usr/local/lib on most systems). Get the admin to move/copy/symlink it into one of those dirs.