This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.


For more information, see this announcement post. Click the X in the top right-corner of this box to dismiss this message.

Linking problems with 1.6.8 & 1.6.9

Old posts that have not been replied to for several years.
Locked
j
juba

Post by juba »

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.
P
Petersen
Owner
Posts: 685
Joined: Thu Sep 27, 2001 8:00 pm
Location: Blackpool, UK

Post by Petersen »

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.
j
juba

Post by juba »

That helped me one step further, now it links successfully, but at the end it throws this at me:

Successful compile: eggdrop

make[1]: Leaving directory `/home/juba/temp/eggdrop1.6.9/src'

./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.
P
Petersen
Owner
Posts: 685
Joined: Thu Sep 27, 2001 8:00 pm
Location: Blackpool, UK

Post by Petersen »

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.
User avatar
stdragon
Owner
Posts: 959
Joined: Sun Sep 23, 2001 8:00 pm
Contact:

Post by stdragon »

Try adding the path to LD_LIBRARY_PATH in your .profile or .bash_profile or whatever.

export LD_LIBRARY_PATH=/home/stdragon/mytcl
Locked