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.

during eggdrop setup - unknown problem occurs during linking

General support and discussion of Eggdrop bots.
Post Reply
z
zen`cai
Voice
Posts: 4
Joined: Sun Aug 13, 2006 11:34 am
Location: Texas

during eggdrop setup - unknown problem occurs during linking

Post by zen`cai »

I am running Fedora Core 4. ActiveTcl 8.4.6 and eggdrop1.6.18

on ./configure actual command is:
./configure --with-tcllib=/usr/local/ActiveTcl/lib/libtcl8.4.a --with-tclinc=/usr/local/ActiveTcl/include/tcl.h

it accepts this and tells me to "make config" to configure modules

it accepts this also and tells me I can now compile the bot, using "make"

then on to "Yeah! That's the compiling, now the linking!"

at this point everything comes up as an "undefined reference" and the end of process is:

collect2: ld returned 1 exit status
make[1]: *** [../eggdrop] Error 1
make[1]: Leaving directory `/root/eggdrop1.6.18/src'
make: *** [static] Error 2

if I try to continue to "make install DEST=/root/eggdrop/botdir"
it tells me I have not compiled the bot yet.

any help would be greatly appreciated.
User avatar
rosc2112
Revered One
Posts: 1454
Joined: Sun Feb 19, 2006 8:36 pm
Location: Northeast Pennsylvania

Post by rosc2112 »

You didn't post the actual error msgs about what's not being found.
z
zen`cai
Voice
Posts: 4
Joined: Sun Aug 13, 2006 11:34 am
Location: Texas

during eggdrop setup - problems occur during linking

Post by zen`cai »

my apologies ... errors follow:

---------- Yeah! That's the compiling, now the linking! ----------

Linking eggdrop (static version).

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 match.o main.o mem.o misc.o misc_file.o modul es.o net.o rfc1459.o tcl.o tcldcc.o tclhash.o tclmisc.o tcluser.o userent.o user rec.o users.o mod/*.o /usr/local/ActiveTcl/lib/libtcl8.4.a -lm -ldl -ldns -lnsl md5/md5c.o compat/*.o `cat mod/mod.xlibs`
/usr/local/ActiveTcl/lib/libtcl8.4.a(tclBinary.o)(.text+0xc3d): In function `Tcl _BinaryObjCmd':
tclBinary.c: undefined reference to `__ctype_b'
/usr/local/ActiveTcl/lib/libtcl8.4.a(tclBinary.o)(.text+0xcae):tclBinary.c: unde fined reference to `__ctype_b'
/usr/local/ActiveTcl/lib/libtcl8.4.a(tclBinary.o)(.text+0x1777): In function `Ge tFormatSpec':
tclBinary.c: undefined reference to `__ctype_b'
/usr/local/ActiveTcl/lib/libtcl8.4.a(tclCmdAH.o)(.text+0x185): In function `Tcl_ CaseObjCmd':
tclCmdAH.c: undefined reference to `__ctype_b'
/usr/local/ActiveTcl/lib/libtcl8.4.a(tclCmdAH.o)(.text+0x2735): In function `Tcl _FormatObjCmd':
tclCmdAH.c: undefined reference to `__ctype_b'
/usr/local/ActiveTcl/lib/libtcl8.4.a(tclCmdAH.o)(.text+0x2836):tclCmdAH.c: more undefined references to `__ctype_b' follow
/usr/local/ActiveTcl/lib/libtcl8.4.a(tclUtil.o)(.text+0xf80): In function `Tcl_S tringCaseMatch':
tclUtil.c: undefined reference to `__ctype_tolower'
/usr/local/ActiveTcl/lib/libtcl8.4.a(tclUtil.o)(.text+0x114e):tclUtil.c: undefin ed reference to `__ctype_tolower'
/usr/local/ActiveTcl/lib/libtcl8.4.a(tclUtil.o)(.text+0x11cf):tclUtil.c: undefin ed reference to `__ctype_tolower'
/usr/local/ActiveTcl/lib/libtcl8.4.a(tclUtil.o)(.text+0x1236):tclUtil.c: undefin ed reference to `__ctype_tolower'
/usr/local/ActiveTcl/lib/libtcl8.4.a(tclUtil.o)(.text+0x187d): In function `Tcl_ PrintDouble':
tclUtil.c: undefined reference to `__ctype_b'
/usr/local/ActiveTcl/lib/libtcl8.4.a(tclUtil.o)(.text+0x1bb5): In function `TclL ooksLikeInt':
tclUtil.c: undefined reference to `__ctype_b'
/usr/local/ActiveTcl/lib/libtcl8.4.a(tclUtil.o)(.text+0x1ee5): In function `TclC heckBadOctal':
tclUtil.c: undefined reference to `__ctype_b'
/usr/local/ActiveTcl/lib/libtcl8.4.a(tclUtil.o)(.text+0x1f13):tclUtil.c: undefin ed reference to `__ctype_b'
/usr/local/ActiveTcl/lib/libtcl8.4.a(tclUtil.o)(.text+0x1f33):tclUtil.c: undefin ed reference to `__ctype_b'
/usr/local/ActiveTcl/lib/libtcl8.4.a(tclUnixFile.o)(.text+0x95):tclUnixFile.c: m ore undefined references to `__ctype_b' follow
collect2: ld returned 1 exit status
make[1]: *** [../eggdrop] Error 1
make[1]: Leaving directory `/root/eggdrop1.6.18/src'
make: *** [static] Error 2
[root@techmonkey eggdrop1.6.18]#
User avatar
rosc2112
Revered One
Posts: 1454
Joined: Sun Feb 19, 2006 8:36 pm
Location: Northeast Pennsylvania

Post by rosc2112 »

This could be because the file "ctype.h" is not being found. That symbol is also defined in xlocale.h.

Change this: --with-tcllib=/usr/local/ActiveTcl/lib/libtcl8.4.a
to --with-tcllib=/usr/local/ActiveTcl/lib and if necessary, compile with

CFLAGS='$CFLAGS -I/usr/include';CPPFLAGS='$CPPFLAGS -I/usr/include' ;./configure --with-tcllib=/usr/local/ActiveTcl/lib --other-options(you know what I mean)

which is where ctype.h and xlocale.h should be located.

You usually don't want to compile against a static lib (.a file) when compiling a dynamic binary, which should link against the shared object libs (.so file) which I assume there are .so files in the ActiveTcl lib dir. You don't need to specify the filename in the options, just the directory where they're located.
User avatar
demond
Revered One
Posts: 3073
Joined: Sat Jun 12, 2004 9:58 am
Location: San Francisco, CA
Contact:

Post by demond »

-I/usr/include won't help as gcc always looks there no matter what; omitting the static lib extension probably will
connection, sharing, dcc problems? click <here>
before asking for scripting help, read <this>
use

Code: Select all

 tag when posting logs, code
User avatar
rosc2112
Revered One
Posts: 1454
Joined: Sun Feb 19, 2006 8:36 pm
Location: Northeast Pennsylvania

Post by rosc2112 »

I missed this part in my reply as well:

--with-tclinc=/usr/local/ActiveTcl/include/

instead of specifying the filename in that option.

Another note:

I'm not all that familiar with redhat type linuxes, but you might want to check /etc/ld.so.conf to see that it has the ActiveTcl lib dir in there, and the run ldconfig.
z
zen`cai
Voice
Posts: 4
Joined: Sun Aug 13, 2006 11:34 am
Location: Texas

Post by zen`cai »

removing the static lib extension has this result:

configure: warning:

The file '/usr/local/ActiveTcl/lib/' given to option --with-tcllib is not valid.

configure will now attempt to autodetect both the Tcl library and header.

configure: warning:

The file '' given to option --with-tclinc is not valid.

configure will now attempt to autodetect both the Tcl library and header.

checking for Tcl library... using /lib
checking for Tcl header... using /
checking whether the Tcl system has changed... yes
checking for Tcl version...
checking for Tcl patch level...
configure: error:

Your Tcl version is much too old for Eggdrop to use. You should
download and compile a more recent version. The most reliable
current version is 8.4.6 and can be downloaded from
ftp://tcl.activestate.com/pub/tcl/tcl8_4/.

See doc/COMPILE-GUIDE's 'Tcl Detection and Installation' section
for more information.

[root@techmonkey eggdrop1.6.18]#
User avatar
rosc2112
Revered One
Posts: 1454
Joined: Sun Feb 19, 2006 8:36 pm
Location: Northeast Pennsylvania

Post by rosc2112 »

Take the trailing slashes off, --with-tcllib=/usr/local/ActiveTcl/lib and --with-tclinc=/usr/local/ActiveTcl/include

It may also want just --with-tcllib=/usr/local/ActiveTcl and --with-tclinc=/usr/local/ActiveTcl
z
zen`cai
Voice
Posts: 4
Joined: Sun Aug 13, 2006 11:34 am
Location: Texas

Post by zen`cai »

installing tcl-dev fixed the problem.

thanks for the help!
Post Reply