Error Message When Making the Binary

Posted by Roanna on Mon 18 Nov 2002 04:09 PM — 11 posts, 51,019 views.

#0
Upon trying to 'make' the binary I got this message about 1/2way through. Its a clean make, I don't know whats going on and if anyone could lend a hand I would very much so appreciate it.

g++ -c -Wall -g -O wizlist.cpp -o obj/wizlist.o
g++ -c -Wall -g -O com_time.cpp -o obj/com_time.o
rm -f ../dawn
g++ -g -O -lz -o ../dawn \
obj/act_comm.o obj/act_ente.o obj/act_info.o obj/act_move.o obj/act_obj.o obj/act_wiz2.o obj/act_wiz.o obj/aedit.o obj/affects.o obj/alias.o obj/areas.o obj/autostat.o obj/banedit.o obj/ban.o obj/base64.o obj/bit.o obj/cedit.o obj/channels.o obj/chardata.o obj/clanedit.o obj/clan.o obj/class.o obj/colour.o obj/comedit.o obj/comm.o obj/const.o obj/corpse.o obj/cust_col.o obj/d2magsys.o obj/dawnstat.o obj/db2.o obj/db.o obj/debug.o obj/deity.o obj/descript.o obj/duel.o obj/dynamics.o obj/dyntable.o obj/effects.o obj/exitlist.o obj/ey_crypt.o obj/fight.o obj/flags.o obj/ftp.o obj/gamble.o obj/gameedit.o obj/gio.o obj/global.o obj/grpedit.o obj/handler.o obj/healer.o obj/hedit.o obj/help.o obj/herbedit.o obj/hreboot.o obj/ictime.o obj/immquest.o obj/interp.o obj/intro_ex.o obj/intro.o obj/ispell.o obj/jail.o obj/language.o obj/laston.o obj/letters.o obj/lockers.o obj/lookup.o obj/magic_ce.o obj/magic_da.o obj/magic_ja.o obj/magic_ke.o obj/magic.o obj/magic_ob.o obj/magic_qu.o obj/magic_ra.o obj/magic_re.o obj/magic_sb.o obj/magic_ti.o obj/map.o obj/match.o obj/medit.o obj/mem.o obj/mixedit.o obj/mix.o obj/mob_cmds.o obj/mob_prog.o obj/mob_q.o obj/mount.o obj/msp.o obj/mud2web.o obj/mxp.o obj/namegen.o obj/nanny.o obj/network.o obj/noble.o obj/notenet.o obj/note.o obj/obdb.o obj/obskill.o obj/oedit.o obj/offmoot.o obj/olc_act.o obj/olc_ex.o obj/olc_mpcd.o obj/olc.o obj/olc_save.o obj/o_lookup.o obj/password.o obj/pushdrag.o obj/pipe.o obj/pload.o obj/qedit.o obj/raceedit.o obj/races.o obj/recycle.o obj/redit.o obj/remort.o obj/resolve.o obj/roles.o obj/rp.o obj/save.o obj/saymote.o obj/scan.o obj/score.o obj/scripts.o obj/sedit.o obj/shop.o obj/skill_ke.o obj/skills.o obj/skill_ti.o obj/sk_type.o obj/socedit.o obj/socials.o obj/special.o obj/statset.o obj/string.o obj/support.o obj/tables.o obj/textsrch.o obj/tokens.o obj/track.o obj/trap.o obj/update.o obj/websrv.o obj/whofmt.o obj/who.o obj/wizlist.o obj/com_time.o
obj/descript.o: In function `descriptor_data::write(char const *, int)':
/home/Division/dot/src/descript.cpp:118: undefined reference to `deflate'
obj/descript.o: In function `descriptor_data::begin_compression(void)':
/home/Division/dot/src/descript.cpp:876: undefined reference to `deflateInit_'
obj/descript.o: In function `descriptor_data::end_compression(void)':
/home/Division/dot/src/descript.cpp:926: undefined reference to `deflate'
/home/Division/dot/src/descript.cpp:932: undefined reference to `deflateEnd'
collect2: ld returned 1 exit status
make: *** [dawn] Error 1
[Division@localhost src]$


THANKS :)
United Kingdom #1
This type of error is occuring in the linking stage of the compiling process... during linking you combine all the 'internal' compiled functions (contained in the object files - *.o) and 'external' library functions to construct the application binary (dawn in this case).

If the source code references a function which it can't find a compiled form of when it goes to linking, you get a 'undefined reference to ...' linking error.

In your case specifically, a compiled form of the deflate function can't be found... this is normally part of the ZLib compression library - used by the mud for MCCP (Mud Client Compression Protocol).

MCCP is normally only enabled on machines which have a working copy of the zlib library... the presence of this library is detected by the configure script.

Rerun the configure script (cd src/configure; ./configure; cd ..),
then do a make clean, followed by a normal make.

If the linking error still exists, I suggest you manually disable MCCP by editing descript.h and adding the line
#define DISABLE_MCCP
directly after
#ifndef DESCRIPT_H
#define DESCRIPT_H
at the top of the file.

Let us know how you get on,

- Kal

#2
All right I checked all that, and in the config the zlib.h IS there...so I don't know whats wrong...but when ig to the same error message I tried to disable the MCCP and it STILL had the same error. I don't have ac lue whats going on with this thing...I've gottan a version of QuickMUD up on this server so I know it works, but my basic ROM won't work, gives the same error there too....help!
United Kingdom #3
Can you please confirm the top of src/descript.h looks like this:

/********************************************************/
// descript.h - descriptor_data class
/********************************************************
 * The Dawn of Time v1.69q (c)1997-2002 Michael Garratt ...
...
...
 *    notice. 
 ********************************************************/

#ifndef DESCRIPT_H
#define DESCRIPT_H

#define DISABLE_MCCP

/********************************************************/
//typedef unsigned int SOCKET;
/********************************************************/
...


If not, make it look like that and do a make clean, followed by a make.

Let us know if you still have problems, quoting the error message this time.

- Kal
#4
This is the error message now. I double checked and did everything you said, clean make and everything...so it isn't exactly the same...but its damn close *chuckle* Thanks so much...

g++ -c -Wall -g -O com_time.cpp -o obj/com_time.o
rm -f ../dawn
g++ -g -O -lz -o ../dawn \
obj/act_comm.o obj/act_ente.o obj/act_info.o obj/act_move.o obj/act_obj.o obj/act_wiz2.o obj/act_wiz.o obj/aedit.o obj/affects.o obj/alias.o obj/areas.o obj/autostat.o obj/banedit.o obj/ban.o obj/base64.o obj/bit.o obj/cedit.o obj/channels.o obj/chardata.o obj/clanedit.o obj/clan.o obj/class.o obj/colour.o obj/comedit.o obj/comm.o obj/const.o obj/corpse.o obj/cust_col.o obj/d2magsys.o obj/dawnstat.o obj/db2.o obj/db.o obj/debug.o obj/deity.o obj/descript.o obj/duel.o obj/dynamics.o obj/dyntable.o obj/effects.o obj/exitlist.o obj/ey_crypt.o obj/fight.o obj/flags.o obj/ftp.o obj/gamble.o obj/gameedit.o obj/gio.o obj/global.o obj/grpedit.o obj/handler.o obj/healer.o obj/hedit.o obj/help.o obj/herbedit.o obj/hreboot.o obj/ictime.o obj/immquest.o obj/interp.o obj/intro_ex.o obj/intro.o obj/ispell.o obj/jail.o obj/language.o obj/laston.o obj/letters.o obj/lockers.o obj/lookup.o obj/magic_ce.o obj/magic_da.o obj/magic_ja.o obj/magic_ke.o obj/magic.o obj/magic_ob.o obj/magic_qu.o obj/magic_ra.o obj/magic_re.o obj/magic_sb.o obj/magic_ti.o obj/map.o obj/match.o obj/medit.o obj/mem.o obj/mixedit.o obj/mix.o obj/mob_cmds.o obj/mob_prog.o obj/mob_q.o obj/mount.o obj/msp.o obj/mud2web.o obj/mxp.o obj/namegen.o obj/nanny.o obj/network.o obj/noble.o obj/notenet.o obj/note.o obj/obdb.o obj/obskill.o obj/oedit.o obj/offmoot.o obj/olc_act.o obj/olc_ex.o obj/olc_mpcd.o obj/olc.o obj/olc_save.o obj/o_lookup.o obj/password.o obj/pushdrag.o obj/pipe.o obj/pload.o obj/qedit.o obj/raceedit.o obj/races.o obj/recycle.o obj/redit.o obj/remort.o obj/resolve.o obj/roles.o obj/rp.o obj/save.o obj/saymote.o obj/scan.o obj/score.o obj/scripts.o obj/sedit.o obj/shop.o obj/skill_ke.o obj/skills.o obj/skill_ti.o obj/sk_type.o obj/socedit.o obj/socials.o obj/special.o obj/statset.o obj/string.o obj/support.o obj/tables.o obj/textsrch.o obj/tokens.o obj/track.o obj/trap.o obj/update.o obj/websrv.o obj/whofmt.o obj/who.o obj/wizlist.o obj/com_time.o
g++ -o ../resolver extras/resolver.cpp
[Division@localhost src]
#5
This is the error now, its not exactly the same but its damn close. I followed all of your directions and this is what it says now...

++ -c -Wall -g -O whofmt.cpp -o obj/whofmt.o
g++ -c -Wall -g -O wizlist.cpp -o obj/wizlist.o
g++ -c -Wall -g -O com_time.cpp -o obj/com_time.o
rm -f ../dawn
g++ -g -O -lz -o ../dawn \
obj/act_comm.o obj/act_ente.o obj/act_info.o obj/act_move.o obj/act_obj.o obj/act_wiz2.o obj/act_wiz.o obj/aedit.o obj/affects.o obj/alias.o obj/areas.o obj/autostat.o obj/banedit.o obj/ban.o obj/base64.o obj/bit.o obj/cedit.o obj/channels.o obj/chardata.o obj/clanedit.o obj/clan.o obj/class.o obj/colour.o obj/comedit.o obj/comm.o obj/const.o obj/corpse.o obj/cust_col.o obj/d2magsys.o obj/dawnstat.o obj/db2.o obj/db.o obj/debug.o obj/deity.o obj/descript.o obj/duel.o obj/dynamics.o obj/dyntable.o obj/effects.o obj/exitlist.o obj/ey_crypt.o obj/fight.o obj/flags.o obj/ftp.o obj/gamble.o obj/gameedit.o obj/gio.o obj/global.o obj/grpedit.o obj/handler.o obj/healer.o obj/hedit.o obj/help.o obj/herbedit.o obj/hreboot.o obj/ictime.o obj/immquest.o obj/interp.o obj/intro_ex.o obj/intro.o obj/ispell.o obj/jail.o obj/language.o obj/laston.o obj/letters.o obj/lockers.o obj/lookup.o obj/magic_ce.o obj/magic_da.o obj/magic_ja.o obj/magic_ke.o obj/magic.o obj/magic_ob.o obj/magic_qu.o obj/magic_ra.o obj/magic_re.o obj/magic_sb.o obj/magic_ti.o obj/map.o obj/match.o obj/medit.o obj/mem.o obj/mixedit.o obj/mix.o obj/mob_cmds.o obj/mob_prog.o obj/mob_q.o obj/mount.o obj/msp.o obj/mud2web.o obj/mxp.o obj/namegen.o obj/nanny.o obj/network.o obj/noble.o obj/notenet.o obj/note.o obj/obdb.o obj/obskill.o obj/oedit.o obj/offmoot.o obj/olc_act.o obj/olc_ex.o obj/olc_mpcd.o obj/olc.o obj/olc_save.o obj/o_lookup.o obj/password.o obj/pushdrag.o obj/pipe.o obj/pload.o obj/qedit.o obj/raceedit.o obj/races.o obj/recycle.o obj/redit.o obj/remort.o obj/resolve.o obj/roles.o obj/rp.o obj/save.o obj/saymote.o obj/scan.o obj/score.o obj/scripts.o obj/sedit.o obj/shop.o obj/skill_ke.o obj/skills.o obj/skill_ti.o obj/sk_type.o obj/socedit.o obj/socials.o obj/special.o obj/statset.o obj/string.o obj/support.o obj/tables.o obj/textsrch.o obj/tokens.o obj/track.o obj/trap.o obj/update.o obj/websrv.o obj/whofmt.o obj/who.o obj/wizlist.o obj/com_time.o
g++ -o ../resolver extras/resolver.cpp
[Division@localhost src]
United Kingdom #6

Thats not actually an error... you have successfully compiled the dawn and resolver binaries.

Continue with the instructions at http://www.dawnoftime.org/getting_started.html.

- Kal

#7
Go me...ITS UP :) Check it out Kal... mud.iflipout.com Port 3714 :)

-Roanna
#8
BTW THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU :-D
#9
That deals with MPX or something or other.. basically its a mud compression util, that some clients can use. dont know much about it, so i just yanked all that code out cause i couldnt get it to make right either.. and i tried installing the zlib's and stuff, but my *lack* of linux knowledge is preventing me from figuring it out. so i just yank'd all that stuff out. compile again, yank some more stuff out, and so forth and so on. I know this doesnt solve the problem only takes the problem away, but thats the best *i* can do. if someone else is willing to make small helpfile on it.. that'd be nice.

-Kenkari
Australia Forum Administrator #10
It's MCCP - Mud Client Compression Protocol - you don't need to yank stuff out, just change the appropriate compile option. Search for MCCP in the source and makefile, you should find it.