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.

Modules are not compiling....

Discussion of Eggdrop's code and module programming in C.
p
phill_howard

Modules are not compiling....

Post by phill_howard »

I'm runnin cygwin on XP sp2, tcl8.4, and use the configure... everything from eggdrop compiles fine, until it gets to the modules... then I get this:

***************************************************
Successful compile: eggdrop.exe

make[1]: Leaving directory `/cygdrive/d/utils/eggdrop1.6.17/src'
make[1]: Entering directory `/cygdrive/d/utils/eggdrop1.6.17/src/mod'
', needed by `modules'. Stop.arget `assoc.mod_so
make[1]: Leaving directory `/cygdrive/d/utils/eggdrop1.6.17/src/mod'
make: *** [modules] Error 2

****************************************************

It doesn't ever make anything... any ideas on whats going on here?
User avatar
Alchera
Revered One
Posts: 3344
Joined: Mon Aug 11, 2003 12:42 pm
Location: Ballarat Victoria, Australia
Contact:

Post by Alchera »

From ~doc\COMPILING-FAQ:
1. Download and install Cygwin (www.cygwin.com). Make sure to install things like GCC, zlib, minires, autoconf, and automake. DO NOT install the Tcl provided by Cygwin's installer.
You'll have to look through the list of available updates to Cygwin for any extras that may be required. Not everything required is installed by default.

Also >> Run './configure --enable-strip'
Add [SOLVED] to the thread title if your issue has been.
Search | FAQ | RTM
User avatar
KrzychuG
Master
Posts: 306
Joined: Sat Aug 16, 2003 2:51 pm
Location: Torun, Poland
Contact:

Post by KrzychuG »

Try 'make static'.
Que?
A
Atomic
Voice
Posts: 25
Joined: Thu Jun 24, 2004 9:19 pm

problem

Post by Atomic »

did we ever get a solution to this problem.....

i am having this problem also

i have eggdrop1.6.17 source cygwin everything installed "full"
without the tcl library....

i got tcl 8.4.11 installed to the same dir as cygwin

i get that exact same error....

any ideas how to fix it so the modules compile
User avatar
demond
Revered One
Posts: 3073
Joined: Sat Jun 12, 2004 9:58 am
Location: San Francisco, CA
Contact:

Post by demond »

paste your compile log, it can't be exactly the same
A
Atomic
Voice
Posts: 25
Joined: Thu Jun 24, 2004 9:19 pm

:/

Post by Atomic »

hi :)

the error isnt exactly the same as i am on windows he was on linux
so my install directories are different.....

but basicly i have the same error...

on make config it doesnt find any modules...

so when i do make it simply wont find anything......

her is my log upto make... as you can see the error is the same..

sorry for the long post...


checking for C compiler default output file name... a.exe
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... .exe
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for AIX... no
checking for library containing strerror... none required
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether the compiler understands -Wall... yes
checking whether the compiler understands -pipe... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether make sets $(MAKE)... yes
checking for ranlib... ranlib
checking whether ln -s works... yes
checking whether head -n 1 works... yes
checking for strip... strip
configure: warning:

Stripping the executable, while saving some disk space, will make bug
reports nearly worthless. If Eggdrop crashes and you wish to report
a bug, you will need to recompile with stripping disabled.

checking for gawk... gawk
checking for basename... basename
checking for uname... uname
checking for socket in -lsocket... no
checking for connect in -lnsl... no
checking for gethostbyname in -ldns... no
checking for dlopen in -ldl... no
checking for tan in -lm... yes
checking for pthread_mutex_init in -lpthread... yes
checking system type... CYGWIN_NT-5.1
checking system release... 1.5.18(0.132/4/2)
checking module loading capabilities...
checking dl.h usability... no
checking dl.h presence... no
checking for dl.h... no
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking loader.h usability... no
checking loader.h presence... no
checking for loader.h... no
checking rld.h usability... no
checking rld.h presence... no
checking for rld.h... no
checking mach-o/dyld.h usability... no
checking mach-o/dyld.h presence... no
checking for mach-o/dyld.h... no
checking mach-o/rld.h usability... no
checking mach-o/rld.h presence... no
checking for mach-o/rld.h... no
checking for dlopen... yes
checking for load... no
checking for NSLinkModule... no
checking for shl_load... no
checking for rld_load... no
checking how to access the Win32 API... found via -mwin32
checking for /usr/lib/binmode.o... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking whether time.h and sys/time.h may both be included... yes
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking std_args.h usability... no
checking std_args.h presence... no
checking for std_args.h... no
checking stdarg.h usability... yes
checking stdarg.h presence... yes
checking for stdarg.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/rusage.h usability... no
checking sys/rusage.h presence... no
checking for sys/rusage.h... no
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for unistd.h... (cached) yes
checking wchar.h usability... yes
checking wchar.h presence... yes
checking for wchar.h... yes
checking for an ANSI C-conforming const... yes
checking whether byte ordering is bigendian... no
checking for inline... inline
checking for pid_t... yes
checking for size_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_zone... no
checking for tzname... yes
checking for working volatile... yes
checking for socklen_t... yes
checking for long... yes
checking size of long... 4
checking for int... yes
checking size of int... 4
checking for short... yes
checking size of short... 2
checking for clock... yes
checking for dprintf... no
checking for fsync... yes
checking for getdtablesize... yes
checking for getrusage... yes
checking for inet_aton... yes
checking for isascii... yes
checking for mbrlen... yes
checking for memcpy... yes
checking for memset... yes
checking for random... yes
checking for rename... yes
checking for setpgid... yes
checking for sigaction... yes
checking for sigemptyset... yes
checking for snprintf... yes
checking for srandom... yes
checking for strcasecmp... yes
checking for strncasecmp... yes
checking for uname... yes
checking for vsnprintf... yes
checking for sys/select.h... (cached) yes
checking for sys/socket.h... (cached) yes
checking types of arguments for select... int,fd_set *,struct timeval *
checking for vprintf... yes
checking for _doprnt... no
checking for strftime... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for getpagesize... yes
checking for working mmap... no
checking for broken libsafe sscanf... no
checking for Tcl library... found /usr/local/lib/libtcl8.4.dll
checking for Tcl header... found /usr/local/include/tcl.h
checking whether the Tcl system has changed... yes
checking for Tcl version... 8.4
checking for Tcl patch level... 8.4.11
checking for Tcl_Free in -ltcl8.4... yes
checking for TclpFinalizeThreadData in -ltcl8.4... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating scripts/Makefile
config.status: creating src/Makefile
config.status: creating src/compat/Makefile
config.status: creating src/md5/Makefile
config.status: creating src/mod/Makefile
config.status: creating config.h
config.status: executing replace-if-changed commands
creating lush.h
config.status: executing catch-make-rebuild commands

Operating System: CYGWIN_NT-5.1 1.5.18(0.132/4/2)

If you experiance any problems compiling Eggdrop, please read the
compile guide, found in doc/COMPILE-GUIDE.

Type 'make config' to configure the modules, or type 'make iconfig'
to interactively choose which modules to compile.


Cause & Effect@effect /cygdrive/c/eggdrop
$ make config
Detecting modules.................... done.
Calculating dependencies................... done.
Building ./src/mod/Makefile... done.
make[1]: Entering directory `/cygdrive/c/eggdrop/src/mod'

make[1]: Leaving directory `/cygdrive/c/eggdrop/src/mod'
Building ./src/mod/Makefile... done.

You can now compile the bot, using "make".


Cause & Effect@effect /cygdrive/c/eggdrop
$ make
make[1]: Entering directory `/cygdrive/c/eggdrop/src'
This may take a while. Go get some runts.

gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c bg.c
gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c botcmd.c
gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c botmsg.c
gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c botnet.c
gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c chanprog.c
gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c cmds.c
gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c dcc.c
gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c dccutil.c
gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c dns.c
gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c flags.c
gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c language.c
gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c match.c
gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H \
'-DCCFLAGS="gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H "' \
'-DLDFLAGS="gcc -pipe -mwin32"' \
'-DSTRIPFLAGS="strip"' -c ./main.c
gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c mem.c
gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c misc.c
gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c misc_file.c
gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c modules.c
gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c net.c
gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c rfc1459.c
gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c tcl.c
tcl.c:492: warning: dereferencing type-punned pointer will break strict-aliasing
rules
tcl.c: In function `readtclprog':
tcl.c:741: warning: assignment discards qualifiers from pointer target type
gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c tcldcc.c
gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c tclhash.c
gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c tclmisc.c
gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c tcluser.c
gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c userent.c
userent.c: In function `del_entry_type':
userent.c:1135: warning: dereferencing type-punned pointer will break strict-ali
asing rules
gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c userrec.c
gcc -pipe -mwin32 -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c users.c
make[2]: Entering directory `/cygdrive/c/eggdrop/src/md5'
gcc -pipe -mwin32 -g -O2 -Wall -I. -I../.. -I../.. -I../../src -DHAVE_CONFIG_H
-c md5c.c
make[2]: Leaving directory `/cygdrive/c/eggdrop/src/md5'
make[2]: Entering directory `/cygdrive/c/eggdrop/src/compat'
gcc -pipe -mwin32 -g -O2 -Wall -I../.. -I../.. -I../../src -DHAVE_CONFIG_H -c
inet_aton.c
gcc -pipe -mwin32 -g -O2 -Wall -I../.. -I../.. -I../../src -DHAVE_CONFIG_H -c
snprintf.c
gcc -pipe -mwin32 -g -O2 -Wall -I../.. -I../.. -I../../src -DHAVE_CONFIG_H -c
memset.c
gcc -pipe -mwin32 -g -O2 -Wall -I../.. -I../.. -I../../src -DHAVE_CONFIG_H -c
memcpy.c
gcc -pipe -mwin32 -g -O2 -Wall -I../.. -I../.. -I../../src -DHAVE_CONFIG_H -c
strcasecmp.c
gcc -pipe -mwin32 -g -O2 -Wall -I../.. -I../.. -I../../src -DHAVE_CONFIG_H -c
strftime.c
make[2]: Leaving directory `/cygdrive/c/eggdrop/src/compat'

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

Linking eggdrop (standard build).

gcc -pipe -mwin32 -o ../eggdrop.exe bg.o botcmd.o botmsg.o botnet.o chanprog.o c
mds.o dcc.o dccutil.o dns.o flags.o language.o match.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 us
erent.o userrec.o users.o -L/usr/local/lib -ltcl8.4 -lm /usr/lib/binmode.o md5
/md5c.o compat/*.o `cat mod/mod.xlibs`
strip ../eggdrop.exe

Successful compile: eggdrop.exe

make[1]: Leaving directory `/cygdrive/c/eggdrop/src'
make[1]: Entering directory `/cygdrive/c/eggdrop/src/mod'
', needed by `modules'. Stop.arget `assoc.mod_so
make[1]: Leaving directory `/cygdrive/c/eggdrop/src/mod'
make: *** [modules] Error 2



no point in doing make install DEST="dir"
as the modules are not present.... :/

please help.... thank you
User avatar
demond
Revered One
Posts: 3073
Joined: Sat Jun 12, 2004 9:58 am
Location: San Francisco, CA
Contact:

Post by demond »

did you try `make static'? you can't have dynamically loadable eggdrop modules under windows
A
Atomic
Voice
Posts: 25
Joined: Thu Jun 24, 2004 9:19 pm

:/

Post by Atomic »

yep tried that same thing happens.... doesnt detect the modules

:(

dunno if this is it but versions of

on the help page it says

-minires (Version 0.97-1) i have version 1.00-1
-minires-devel (Version 0.97-1) i have version 1.00-1 of this also

could that be the problem.....
User avatar
demond
Revered One
Posts: 3073
Joined: Sat Jun 12, 2004 9:58 am
Location: San Francisco, CA
Contact:

Post by demond »

have you read this?
A
Atomic
Voice
Posts: 25
Joined: Thu Jun 24, 2004 9:19 pm

:/

Post by Atomic »

yeah about a million times..... there is a fault on that page

these eggdrops will not compile the modules using tcl 8.4.11
the modules simply will not compile......

problem is now solved......

i downgraded the tcl version to 8.3.5 and the eggdrop1.6.17 now compiles
the modules correctly........

thanks for the help :)

here is what i did for all that want to know......

i downloaded cygwin and installed everything except the tcl/tk library
then i found the TCL 8.3.5 library and installed that to the cygwin directory

then everything else you can read yourself from the link
demond gave in the last post :) hf and gl

atomic
A
Atomic
Voice
Posts: 25
Joined: Thu Jun 24, 2004 9:19 pm

:/

Post by Atomic »

ok how to make the bot faster....

currently in 10 channels with a few lame scripts for output
i need it to put out this output faster....

looked on the forum and found 1 referrance to this
so i have altered the server.c file and compiled...
im sure you know the variables im talking about....
so yep this made it alittle faster....

but how to make it faster still.....
ummm this bot runs on my own personal ircd
so......

anyone know anything i can do....
User avatar
demond
Revered One
Posts: 3073
Joined: Sat Jun 12, 2004 9:58 am
Location: San Francisco, CA
Contact:

Post by demond »

hmm that's weird, I would've betted it's a make(1) problem

they probably messed up the Tcl 8.4.10 and up detection in the configure script; or perhaps a problem with Makefile.in
User avatar
demond
Revered One
Posts: 3073
Joined: Sat Jun 12, 2004 9:58 am
Location: San Francisco, CA
Contact:

Re: :/

Post by demond »

Atomic wrote:ok how to make the bot faster....

currently in 10 channels with a few lame scripts for output
i need it to put out this output faster....

looked on the forum and found 1 referrance to this
so i have altered the server.c file and compiled...
im sure you know the variables im talking about....
so yep this made it alittle faster....

but how to make it faster still.....
ummm this bot runs on my own personal ircd
so......

anyone know anything i can do....
this is off-topic, and should be asked elsewhere (on these forums)

but generally, you make your bots faster by using better scripts; patching server.c won't help (unless you get rid of the entire queue system, which would be a stupid thing to do); you might also want to use [putdccraw] with server idx 0 in your scripts - that bypasses upper level output queues

if the server you use is your own, try also to increase SendQ for the client class your bot belongs to

again, if you need further help on this, please do not reply here, start a new thread in the main forum
G
Galadhrim
Op
Posts: 123
Joined: Fri Apr 11, 2003 8:38 am
Location: Netherlands, Enschede

Post by Galadhrim »

I thought I had dynamic loaded modules under Windows... But then again I compiled that about 3 years ago :) I do remember TCL not working properly and needing to use an old version.
User avatar
demond
Revered One
Posts: 3073
Joined: Sat Jun 12, 2004 9:58 am
Location: San Francisco, CA
Contact:

Post by demond »

Galadhrim wrote:I thought I had dynamic loaded modules under Windows... But then again I compiled that about 3 years ago :) I do remember TCL not working properly and needing to use an old version.
nope, eggdrop/windrop doesn't support its modules as DLLs, all gets bundled in the EXE

you probably meant Cygwin's DLL
Post Reply