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.

eggdrop start then nothing

General support and discussion of Eggdrop bots.
User avatar
demond
Revered One
Posts: 3073
Joined: Sat Jun 12, 2004 9:58 am
Location: San Francisco, CA
Contact:

Post by demond »

well then, how did you know that "eggdrop starts then nothing" is due to threaded or not-threaded Tcl :)
connection, sharing, dcc problems? click <here>
before asking for scripting help, read <this>
use

Code: Select all

 tag when posting logs, code
User avatar
De Kus
Revered One
Posts: 1361
Joined: Sun Dec 15, 2002 11:41 am
Location: Germany

Post by De Kus »

I dont exactly know if its the mix of these 2, maybe it was just the mix of 2 versions. At least I got the bot running background threaded and non-threaded by specifiing the lib used.
Then only evidence I have is that compiling the bot linked to the threaded version as non-threaded produced the same problem (in my case it was the threaded 8.4.9 in /usr/lib with 8.4.12 headers in /usr/local/included, since there was no tcl.h in /usr/include for 8.4.9).
De Kus
StarZ|De_Kus, De_Kus or DeKus on IRC
Copyright © 2005-2009 by De Kus - published under The MIT License
Love hurts, love strengthens...
User avatar
demond
Revered One
Posts: 3073
Joined: Sat Jun 12, 2004 9:58 am
Location: San Francisco, CA
Contact:

Post by demond »

I'm not sure if eggdrop works with threaded libtcl at all, even if compiled with --enable-tcl-threads; at least not on FreeBSD
connection, sharing, dcc problems? click <here>
before asking for scripting help, read <this>
use

Code: Select all

 tag when posting logs, code
User avatar
De Kus
Revered One
Posts: 1361
Joined: Sun Dec 15, 2002 11:41 am
Location: Germany

Post by De Kus »

It works, at least on debian, but it spawns 2 childs. Maybe thats why it didnt work on your shell.
De Kus
StarZ|De_Kus, De_Kus or DeKus on IRC
Copyright © 2005-2009 by De Kus - published under The MIT License
Love hurts, love strengthens...
User avatar
demond
Revered One
Posts: 3073
Joined: Sat Jun 12, 2004 9:58 am
Location: San Francisco, CA
Contact:

Post by demond »

no no, now I remember I had the same problem that guy has... can't connect in bg, works fine in fg
connection, sharing, dcc problems? click <here>
before asking for scripting help, read <this>
use

Code: Select all

 tag when posting logs, code
B
BaS
Voice
Posts: 6
Joined: Wed Jan 30, 2008 1:41 pm

Post by BaS »

I experience now the same problem (eggdrop only working in foreground, though it starts without problems in background). And I have only one tcl versiob installed on my system.

I tried both --disable-tcl-threads and --enable-tcl-threads, but nothing helped :(

I'm using 1.6.18 and 8.5a6
n
nml375
Revered One
Posts: 2860
Joined: Fri Aug 04, 2006 2:09 pm

Post by nml375 »

--enable-tcl-threads has no influence on the configure-process, only --disable-tcl-threads.

In most cases, there have been several different libraries on the system without the users knowledge - most often one non-devel library with threads, and one non-threaded in a non-standard location.

The following information would be helpful:
  • output from "locate libtcl" and "locate tcl.h".
  • output from "ldd eggdrop".
  • output from "grep -i tcl config.log" (config.log found where you compiled your eggdrop).
NML_375
B
BaS
Voice
Posts: 6
Joined: Wed Jan 30, 2008 1:41 pm

Post by BaS »

nml375 wrote:--enable-tcl-threads has no influence on the configure-process, only --disable-tcl-threads.

In most cases, there have been several different libraries on the system without the users knowledge - most often one non-devel library with threads, and one non-threaded in a non-standard location.

The following information would be helpful:
  • output from "locate libtcl" and "locate tcl.h".
  • output from "ldd eggdrop".
  • output from "grep -i tcl config.log" (config.log found where you compiled your eggdrop).
# locate libtcl
/usr/lib/libtcl.so
/usr/lib/libtcl8.5.so
/usr/lib/libtcl8.5.so.0
/usr/lib/libtclstub8.5.a

# locate tcl.h
/usr/include/tcl.h
/usr/include/tcl8.5a6/generic/tcl.h

$ ldd eggdrop
linux-gate.so.1 => (0xffffe000)
libtcl8.5.so.0 => /usr/lib/libtcl8.5.so.0 (0xb7ed0000)
libm.so.6 => /lib/i686/libm.so.6 (0xb7eab000)
libdl.so.2 => /lib/libdl.so.2 (0xb7ea7000)
libnsl.so.1 => /lib/libnsl.so.1 (0xb7e90000)
libc.so.6 => /lib/i686/libc.so.6 (0xb7d50000)
libpthread.so.0 => /lib/i686/libpthread.so.0 (0xb7d39000)
/lib/ld-linux.so.2 (0xb7fdd000)

$ grep -i tcl config.log
configure:9648: checking for Tcl library
configure:9660: result: found /usr/lib/libtcl8.5.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:9773: checking for Tcl version
configure:9797: checking for Tcl patch level
configure:9871: checking for Tcl_Free in -ltcl8.5
configure:9901: gcc -pipe -o conftest -g -O2 -Wall conftest.c -ltcl8.5 -L/usr/lib -lm -lpthread -ldl -lnsl >&5
configure:9966: checking for TclpFinalizeThreadData in -ltcl8.5
configure:9996: gcc -pipe -o conftest -g -O2 -Wall conftest.c -ltcl8.5 -L/usr/lib -lm -lpthread -ldl -lnsl >&5
/home/bas/eggdrop_cvs/eggdrop1.6/conftest.c:95: undefined reference to `TclpFinalizeThreadData'
| #define HAVE_TCL_FREE 1
| char TclpFinalizeThreadData ();
| TclpFinalizeThreadData ();
ac_cv_lib_tcl8_5___Tcl_Free=yes
ac_cv_lib_tcl8_5___TclpFinalizeThreadData=no
egg_cv_var_tcl_free=yes
egg_cv_var_tcl_id=/usr/lib:tcl8.5.so:/usr/include:tcl.h
egg_cv_var_tcl_patch_level=8.5a6
egg_cv_var_tcl_threaded=no
egg_cv_var_tcl_version=8.5
TCLINC='/usr/include'
TCLINCFN='tcl.h'
TCLLIB='/usr/lib'
TCLLIBFN='tcl8.5.so'
TCL_LIBS='-L/usr/lib -ltcl8.5 -lm'
TCL_REQS='/usr/lib/libtcl8.5.so'
#define HAVE_TCL_FREE 1


One more interesting fact:

Eggdrop is in foreground:
# ps aux |grep eggdrop |grep -v grep
bas 1303 3.2 1.7 22920 10116 pts/9 Sl+ 21:03 0:11 ./eggdrop -n

Eggdrop is in background:
# ps aux |grep eggdrop |grep -v grep
bas 1774 0.0 0.9 20668 5496 pts/9 S 21:25 0:00 ./eggdrop

From man ps:

S Interruptible sleep (waiting for an event to complete)
l is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
+ is in the foreground process group

So, in background it is not threaded????
n
nml375
Revered One
Posts: 2860
Joined: Fri Aug 04, 2006 2:09 pm

Post by nml375 »

Thnx for the info.
Indeed there is only one library installed on your system, and it is identified as non-threaded.

I did stumble onto this archived mail a few minutes ago, so most likely your system is indeed threaded. In this case, you'll need to modify the generated eggdrop.h file after running ./configure to coax the compiler into thinking the library is threaded. Simply add the following line somewhere at the end of the file, and recompile:

Code: Select all

#define HAVE_TCL_THREADS 1
NML_375
B
BaS
Voice
Posts: 6
Joined: Wed Jan 30, 2008 1:41 pm

Post by BaS »

nml375 wrote:Thnx for the info.
Indeed there is only one library installed on your system, and it is identified as non-threaded.

I did stumble onto this archived mail a few minutes ago, so most likely your system is indeed threaded. In this case, you'll need to modify the generated eggdrop.h file after running ./configure to coax the compiler into thinking the library is threaded. Simply add the following line somewhere at the end of the file, and recompile:

Code: Select all

#define HAVE_TCL_THREADS 1
Thank you so much! This was helpful, now everything works as a charm!
p
pacificstorm
Voice
Posts: 1
Joined: Mon Feb 04, 2008 12:50 pm

Post by pacificstorm »

STARTING BOT IN USERFILE CREATION MODE.
Telnet to the bot and enter 'NEW' as your nickname.
OR go to IRC and type: /msg ForumBot hello
This will make the bot recognize you as the master.

You have installed modules but have not selected an encryption
module, please consult the default config file for info.


but the bot still doesn't run..

anyone can help?
n
nml375
Revered One
Posts: 2860
Joined: Fri Aug 04, 2006 2:09 pm

Post by nml375 »

pacificstorm wrote:STARTING BOT IN USERFILE CREATION MODE.
Telnet to the bot and enter 'NEW' as your nickname.
OR go to IRC and type: /msg ForumBot hello
This will make the bot recognize you as the master.

You have installed modules but have not selected an encryption
module, please consult the default config file for info.



but the bot still doesn't run..

anyone can help?
You forgot to load a (the) module that provides encryption capabilities. Without this, your eggdrop will not start. Most people settle for the blowfish module for this. See your config file for further details.
NML_375
Post Reply