| View previous topic :: View next topic |
| Author |
Message |
HondaATC Voice
Joined: 17 Jan 2008 Posts: 8
|
Posted: Thu Jan 17, 2008 12:44 am Post subject: Can't telnet in? |
|
|
| I got the eggdrop configured, and started without any errors. It didn't show up in my channel or even on my server so I'm attempting to Telnet in, which isn't working out either. I'm a little confused though, on what I should use as the hostname in telnet? Should it be the IP for the box the eggdrop is running on (same thing I use to SSH in with?) and then the port I provided in my config file (Which was 2222) or am I going about this the wrong way? |
|
| Back to top |
|
 |
Alchera Revered One

Joined: 11 Aug 2003 Posts: 3344 Location: Ballarat Victoria, Australia
|
|
| Back to top |
|
 |
metroid Owner
Joined: 16 Jun 2004 Posts: 771
|
Posted: Thu Jan 17, 2008 8:26 am Post subject: |
|
|
| Try running it with -n so you can see what the eggdrop is reporting. |
|
| Back to top |
|
 |
HondaATC Voice
Joined: 17 Jan 2008 Posts: 8
|
Posted: Thu Jan 17, 2008 11:34 am Post subject: |
|
|
| metroid wrote: | | Try running it with -n so you can see what the eggdrop is reporting. |
I restarted it with the -m -n switches and it worked! Thanks. |
|
| Back to top |
|
 |
nml375 Revered One
Joined: 04 Aug 2006 Posts: 2857
|
Posted: Thu Jan 17, 2008 12:11 pm Post subject: |
|
|
Then you have some issues with your tcl-libraries falsely being detected as non-threaded. "Quickfix" would be to compile your own set of libraries and link with these, Realfix would be to try and determine why it was'nt detected properly (one suggested there may be multiple libraries, some threaded other not, installed on the system causing troubles). _________________ NML_375, idling at #eggdrop@IrcNET |
|
| Back to top |
|
 |
HondaATC Voice
Joined: 17 Jan 2008 Posts: 8
|
Posted: Thu Jan 17, 2008 4:24 pm Post subject: |
|
|
| Well, when I first setup the eggdrop during the initial config it said the TCL libraries were not found. This is a new shell, and I assumed they just werent installed. I downloaded and installed them, and then the eggdrop compile process went on like it should have. How would I go about checking to see if I have 2 libraries installed, or find out if I don't have them (the libraries) configured properly? |
|
| Back to top |
|
 |
nml375 Revered One
Joined: 04 Aug 2006 Posts: 2857
|
Posted: Thu Jan 17, 2008 5:24 pm Post subject: |
|
|
First step would be to locate any and all copies of libtcl* and tcl.h. locate usually does the trick:
| Code: | [user@linux src]$ locate libtcl
/home/user/threadtcl/lib/libtcl8.4.so
/home/user/threadtcl/lib/libtclstub8.4.a
/home/user/tcl8.4.15/unix/libtcl8.4.so
/home/user/tcl8.4.15/unix/libtclstub8.4.a
/home/user/usr/lib/libtcl8.4.so
/home/user/usr/lib/libtclstub8.4.a
/home/user/usr/lib/libtcl.so
/usr/lib/libtcl8.4.so
/usr/lib/libtclstub8.4.a
/usr/lib/libtcl.so
[user@linux src]$ |
If, like the example above, you find multiple copies of libtcl8.4.so (or with different version-numbers, etc), this means there are multiple libraries installed. locate is not foolproof, as it uses a cached database rather than searching through the actual filesystem, but it's still a good start. You could also use find, although this usually takes alot longer.
Next, check which libraries your eggdrop binary was linked against. Use ldd for this:
| Code: | [user@linux eggdrop1.6.18]$ ldd eggdrop
linux-gate.so.1 => (0x00457000)
libtcl8.4.so => /usr/lib/libtcl8.4.so (0x005c2000)
libm.so.6 => /lib/libm.so.6 (0x00594000)
libdl.so.2 => /lib/libdl.so.2 (0x005bc000)
libdns.so.20 => /usr/lib/libdns.so.20 (0x00eb6000)
libnsl.so.1 => /lib/libnsl.so.1 (0x0793c000)
libz.so.1 => /usr/lib/libz.so.1 (0x00111000)
libresolv.so.2 => /lib/libresolv.so.2 (0x00d7d000)
libc.so.6 => /lib/libc.so.6 (0x00475000)
/lib/ld-linux.so.2 (0x00458000)
libisc.so.9 => /usr/lib/libisc.so.9 (0x00124000)
libcrypto.so.5 => /lib/libcrypto.so.5 (0x001fb000)
libpthread.so.0 => /lib/libpthread.so.0 (0x006ad000)
[user@linux eggdrop1.6.18]$
|
In this case, the eggdrop binary was linked against a systemwide installed tcl-library (/usr/lib/libtcl4.8.so). We need to keep track of this, for one final check...
Next, we need to check the logs from the autoconf script for building the source. Especially, what we're looking for is which tcl-library it found. grep should find the information for us:
| Code: | [user@linux eggdrop1.6.18]$ grep "checking for Tcl" config.log -A3
configure:9648: checking for Tcl library
configure:9660: result: found /usr/lib/libtcl8.4.so
configure:9683: checking for Tcl header
configure:9694: result: found /usr/include/tcl.h
configure:9730: checking whether the Tcl system has changed
configure:9755: result: yes
configure:9773: checking for Tcl version
configure:9785: result: 8.4
configure:9797: checking for Tcl patch level
configure:9809: result: 8.4.9
configure:9871: checking for Tcl_Free in -ltcl8.4
configure:9901: gcc -pipe -o conftest -g -O2 -Wall conftest.c -ltcl8.4 -L/usr/lib -lm -lpthread -ldl -ldns -lnsl >&5
configure:9907: $? = 0
configure:9911: test -z
--
configure:9966: checking for TclpFinalizeThreadData in -ltcl8.4
configure:9996: gcc -pipe -o conftest -g -O2 -Wall conftest.c -ltcl8.4 -L/usr/lib -lm -lpthread -ldl -ldns -lnsl >&5
/tmp/ccEwulTG.o(.text+0xd): In function `main':
/home/nml375/bleh/eggdrop1.6.18/conftest.c:96: undefined reference to `TclpFinalizeThreadData'
[user@linux eggdrop1.6.18]$
|
Here we see that the autoconf script found libtcl8.4.so at /usr/lib (same location as above, good), and that it detected it as non-threaded (TclpFinalizeThreadData did not exist within the library). In this case, this is good, since this installation is not threaded.
Could you test these three steps and post the output? _________________ NML_375, idling at #eggdrop@IrcNET |
|
| Back to top |
|
 |
HondaATC Voice
Joined: 17 Jan 2008 Posts: 8
|
Posted: Thu Jan 17, 2008 7:32 pm Post subject: |
|
|
Heres what I got:
| Code: | [HondaATC@server134 ~]$ locate libtcl
/home/HondaATC/tcl/lib/libtcl8.4.so
/home/HondaATC/tcl/lib/libtclstub8.4.a
/home/HondaATC/tcl8.4.17/unix/libtcl8.4.so
/home/HondaATC/tcl8.4.17/unix/libtclstub8.4.a
/usr/lib/libtcl8.4.so |
So it looks like you were right, 2 different installs.
| Code: | [HondaATC@server134 eggdrop]$ ldd eggdrop
linux-gate.so.1 => (0x00a79000)
libtcl8.4.so => /usr/lib/libtcl8.4.so (0x0087d000)
libm.so.6 => /lib/libm.so.6 (0x0083b000)
libdl.so.2 => /lib/libdl.so.2 (0x007d4000)
libnsl.so.1 => /lib/libnsl.so.1 (0x007da000)
libc.so.6 => /lib/libc.so.6 (0x00692000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00864000)
/lib/ld-linux.so.2 (0x00670000)
|
And eggdrop's using the one that was already installed, oddly because the tcl 8.4.17 directory is where I put the one I did, and it didn't recognize the user/lib set to start with.
| Code: | [HondaATC@server134 eggdrop]$ grep "checking for Tcl" config.log -A3
grep: config.log: No such file or directory
|
Looks like the logging file was turned off or something? |
|
| Back to top |
|
 |
nml375 Revered One
Joined: 04 Aug 2006 Posts: 2857
|
Posted: Thu Jan 17, 2008 7:41 pm Post subject: |
|
|
the config.log file would be where you unpacked the source and compiled your eggdrop, it is not copied upon make install.
Did you use either --with-tcllib= and/or --with-tclinc= directives when running ./configure? And if so, did you point it at the tcl-library in your home-directory? _________________ NML_375, idling at #eggdrop@IrcNET |
|
| Back to top |
|
 |
HondaATC Voice
Joined: 17 Jan 2008 Posts: 8
|
Posted: Thu Jan 17, 2008 7:58 pm Post subject: |
|
|
| Not from what I can recall. I ran the standard ./configure and during that got the error about the tcl libraries missing. I remember it saying it couldn't locate them, but then asking if I wanted to point to the location of them, but I didn't even have any idea where to look so I just canceled that, and then after some research installed what evidently was the second Tcl library. After installing the second library I ran ./configure again and it worked without any errors. |
|
| Back to top |
|
 |
nml375 Revered One
Joined: 04 Aug 2006 Posts: 2857
|
Posted: Thu Jan 17, 2008 8:14 pm Post subject: |
|
|
The contents of the config.log would help, but this is what I assume occured:
The configure-script was unable to locate the system-wide installation of libtcl, and was thus left with the one in your home directory. Testing this library most likely revealed it to be non-threaded, and hence your eggdrop was compiled without some modifications needed with threaded libraries.
Unfortunately, it was however linked against the system-wide library, which indeed is threaded, resulting in your eggdrop freezing when it tries to fork() into background.
You could try to recompile your eggdrop, explicitly telling the configure-script to look for tcl at /usr/lib/libtcl8.4.so. Hopefully, this will then be properly detected as threaded, the proper code will be included into your eggdrop, and everything will work like a charm. _________________ NML_375, idling at #eggdrop@IrcNET |
|
| Back to top |
|
 |
HondaATC Voice
Joined: 17 Jan 2008 Posts: 8
|
Posted: Tue Jan 29, 2008 12:57 pm Post subject: |
|
|
I finally got time to try and recompile the eggdrop today, and when I did it, its still pointing to the HondaATC/tcl/ library. How can I force it to look for/find the system wide one?
edit: OK, I ran the commands you had mentioned above and when I run those and point to the usr/lib/ set I get this error:
| Quote: |
checking for Tcl library... using /usr/lib/libtcl8.4.so
checking for Tcl header... using /usr/lib/libtcl8.4.so
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.
[HondaATC@server134 eggdrop1.6.18]$
|
|
|
| Back to top |
|
 |
nml375 Revered One
Joined: 04 Aug 2006 Posts: 2857
|
Posted: Tue Jan 29, 2008 1:09 pm Post subject: |
|
|
Use the --with-tcllib and --with-tclinc options to specify which tcl-library and tcl.h-file to use when running the autoconf script (./configure --with-tcllib=/usr/lib/libtcl8.4.so --with-tclinc=/usr/include/tcl.h). This should make autoconf try and use the system-wide installation of tcl.
Keep in mind that --with-tclinc needs to point at the systemwide tcl.h headerfile, not the library! _________________ NML_375, idling at #eggdrop@IrcNET |
|
| Back to top |
|
 |
HondaATC Voice
Joined: 17 Jan 2008 Posts: 8
|
Posted: Tue Jan 29, 2008 2:30 pm Post subject: |
|
|
I just ran that command you posted (./configure --with-tcllib=/usr/lib/libtcl8.4.so --with-tclinc=/usr/include/tcl.h) and I still got the same error as above about the libraries being way to old for eggdrop to use.
configure: warning:
The file '/usr/include/tcl.h' 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. |
|
| Back to top |
|
 |
nml375 Revered One
Joined: 04 Aug 2006 Posts: 2857
|
Posted: Tue Jan 29, 2008 2:38 pm Post subject: |
|
|
Seems you've got a different location of tcl.h, or possibly missing headers/devel-packages of tcl (if using pkg/rpm/deb installation).
See if you can locate tcl.h, and use the proper path. If you can't find it, it would seem headers and such have not been installed, and should be installed by root. _________________ NML_375, idling at #eggdrop@IrcNET |
|
| Back to top |
|
 |
|