egghelp.org community Forum Index
[ egghelp.org home | forum home ]
egghelp.org community
Discussion of eggdrop bots, shell accounts and tcl scripts.
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Can't telnet in?
Goto page 1, 2  Next
 
Post new topic   Reply to topic    egghelp.org community Forum Index -> Eggdrop Help
View previous topic :: View next topic  
Author Message
HondaATC
Voice


Joined: 17 Jan 2008
Posts: 8

PostPosted: Thu Jan 17, 2008 12:44 am    Post subject: Can't telnet in? Reply with quote

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
View user's profile Send private message
Alchera
Revered One


Joined: 11 Aug 2003
Posts: 3344
Location: Ballarat Victoria, Australia

PostPosted: Thu Jan 17, 2008 8:17 am    Post subject: Reply with quote

Help us to help you (and try to help yourself)
_________________
Add [SOLVED] to the thread title if your issue has been.
Search | FAQ | RTM
Back to top
View user's profile Send private message Visit poster's website
metroid
Owner


Joined: 16 Jun 2004
Posts: 771

PostPosted: Thu Jan 17, 2008 8:26 am    Post subject: Reply with quote

Try running it with -n so you can see what the eggdrop is reporting.
Back to top
View user's profile Send private message
HondaATC
Voice


Joined: 17 Jan 2008
Posts: 8

PostPosted: Thu Jan 17, 2008 11:34 am    Post subject: Reply with quote

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
View user's profile Send private message
nml375
Revered One


Joined: 04 Aug 2006
Posts: 2857

PostPosted: Thu Jan 17, 2008 12:11 pm    Post subject: Reply with quote

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
View user's profile Send private message
HondaATC
Voice


Joined: 17 Jan 2008
Posts: 8

PostPosted: Thu Jan 17, 2008 4:24 pm    Post subject: Reply with quote

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
View user's profile Send private message
nml375
Revered One


Joined: 04 Aug 2006
Posts: 2857

PostPosted: Thu Jan 17, 2008 5:24 pm    Post subject: Reply with quote

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
View user's profile Send private message
HondaATC
Voice


Joined: 17 Jan 2008
Posts: 8

PostPosted: Thu Jan 17, 2008 7:32 pm    Post subject: Reply with quote

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
View user's profile Send private message
nml375
Revered One


Joined: 04 Aug 2006
Posts: 2857

PostPosted: Thu Jan 17, 2008 7:41 pm    Post subject: Reply with quote

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
View user's profile Send private message
HondaATC
Voice


Joined: 17 Jan 2008
Posts: 8

PostPosted: Thu Jan 17, 2008 7:58 pm    Post subject: Reply with quote

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
View user's profile Send private message
nml375
Revered One


Joined: 04 Aug 2006
Posts: 2857

PostPosted: Thu Jan 17, 2008 8:14 pm    Post subject: Reply with quote

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
View user's profile Send private message
HondaATC
Voice


Joined: 17 Jan 2008
Posts: 8

PostPosted: Tue Jan 29, 2008 12:57 pm    Post subject: Reply with quote

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
View user's profile Send private message
nml375
Revered One


Joined: 04 Aug 2006
Posts: 2857

PostPosted: Tue Jan 29, 2008 1:09 pm    Post subject: Reply with quote

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
View user's profile Send private message
HondaATC
Voice


Joined: 17 Jan 2008
Posts: 8

PostPosted: Tue Jan 29, 2008 2:30 pm    Post subject: Reply with quote

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
View user's profile Send private message
nml375
Revered One


Joined: 04 Aug 2006
Posts: 2857

PostPosted: Tue Jan 29, 2008 2:38 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    egghelp.org community Forum Index -> Eggdrop Help All times are GMT - 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Forum hosting provided by Reverse.net

Powered by phpBB © 2001, 2005 phpBB Group
subGreen style by ktauber