Reply to this subject
Start a new subject
 
Refresh page
| Posted by |
Yakir
(17 posts) bio
|
| Date |
Fri 17 Aug 2001 09:47 PM (UTC) [ quote
] |
| Message |
I checked and I had aparently not downloaded a few of the files (including the library), so i downloaded all the rest of the files and compiled. The compile managed to compile most of the .o files and then I got an error and it stoped. I got an 'implicit decleration of re_exec' and several 'undefined reference to crypt' so I uncommented the correct lines in the Makefile, but I also got an 'undefined reference to RENAME' and I haven't the faintest clue what to do about it. Despite my 'valiant' tries, here is what it looks like when I try to 'make':
make $
make smaug
'make[1]: Entering directory `/home/smaug/dist/src
rm -f smaug
gcc -lcrypt -lregex -DUSE_IMC -o smaug act_comm.o act_info.o act_move.o act_o
bj.o act_wiz.o boards.o build.o clans.o comm.o comments.o const.o db.o deity.o f
ight.o handler.o hashstr.o ibuild.o ident.o interp.o magic.o makeobjs.o mapout.o
misc.o mpxset.o mud_comm.o mud_prog.o player.o polymorph.o requests.o reset.o s
ave.o shops.o skills.o special.o tables.o track.o update.o grub.o stat_obj.o ban
o services.o planes.o imm_host.o imc.o imc-mail.o imc-interp.o imc-util.o imc-c.
onfig.o imc-events.o imc-version.o imc-mercbase.o ice.o icec.o icec-mercbase.o c
olorize.o
:'act_comm.o: In function `is_profane
'home/smaug/dist/src/act_comm.c:3347: undefined reference to `re_exec/
:'act_info.o: In function `do_hset
'home/smaug/dist/src/act_info.c:2041: undefined reference to `RENAME/
:'act_info.o: In function `do_password
'home/smaug/dist/src/act_info.c:3474: undefined reference to `crypt/
:'act_wiz.o: In function `do_balzhur
'home/smaug/dist/src/act_wiz.c:3258: undefined reference to `RENAME/
:'act_wiz.o: In function `do_mortalize
'home/smaug/dist/src/act_wiz.c:4880: undefined reference to `RENAME/
:'act_wiz.o: In function `do_form_password
'home/smaug/dist/src/act_wiz.c:5441: undefined reference to `crypt/
:'act_wiz.o: In function `do_destroy
'home/smaug/dist/src/act_wiz.c:5756: undefined reference to `RENAME/
'home/smaug/dist/src/act_wiz.c:5784: undefined reference to `RENAME/
:'act_wiz.o: In function `do_pcrename
'home/smaug/dist/src/act_wiz.c:9922: undefined reference to `RENAME/
'home/smaug/dist/src/act_wiz.c:9925: undefined reference to `RENAME/
:'build.o: In function `do_mset
'home/smaug/dist/src/build.c:1692: undefined reference to `crypt/
:'build.o: In function `fold_area
'home/smaug/dist/src/build.c:5889: undefined reference to `RENAME/
:'build.o: In function `do_installarea
'home/smaug/dist/src/build.c:6613: undefined reference to `RENAME/
:'comm.o: In function `nanny
'home/smaug/dist/src/comm.c:1663: undefined reference to `crypt/
'home/smaug/dist/src/comm.c:1750: undefined reference to `crypt/
'home/smaug/dist/src/comm.c:1771: undefined reference to `crypt/
:'save.o: In function `save_char_obj
'home/smaug/dist/src/save.c:191: undefined reference to `RENAME/
'home/smaug/dist/src/save.c:258: undefined reference to `RENAME/
collect2: ld returned 1 exit status
make[1]: *** [smaug] Error 1
'make[1]: Leaving directory `/home/smaug/dist/src
make: *** [all] Error 2
My Makefile is as follows:
CC = gcc
#PROF = -p
NOCRYPT =
# Uncomment the two lines below if compiling on a Solaris box
#SOLARIS_FLAG = -Dsun -DSYSV
#SOLARIS_LINK = -lnsl -lsocket
#Uncomment the line below if you are getting a line like:
#interp.c:757: warning: int format, time_t arg (arg 7)
TIME = -DTIMEFORMAT
#Uncomment the line below if you are getting implicit decleration of re_exec
REG = -DREGEX
#Uncomment the line below if you are getting undefined re_exec errors
NEED_REG = -lregex
#Uncomment the line below if you are getting undefined crypt errors
NEED_CRYPT = -lcrypt
#DBUGFLG = -DREQUESTS
#Uncomment the line below if you want a performance increase though beware
#your core files may not be as much of a benefit if you do.
#OPT_FLAG = -finline-functions -funroll-loops -fdefer-pop -fstrength-reduce
C_FLAGS = $(OPT_FLAG) -O -g3 -Wall -Wuninitialized $(PROF) $(NOCRYPT) $(DBUGFLG) -DSMAUG $(SOLARIS_FLAG) $(TIME) $(REG)
L_FLAGS = $(OPT_FLAG) $(PROF) $(SOLARIS_LINK) $(NEED_CRYPT) $(NEED_REG)
#Uncomment the next three comments below if you want to use IMC
USE_IMC = -DUSE_IMC
IMC_OFILES = imc.o imc-mail.o imc-interp.o imc-util.o imc-config.o \
imc-events.o imc-version.o imc-mercbase.o ice.o icec.o icec-mercbase.o
IMC_CFILES = imc.c imc-mail.c imc-interp.c imc-util.c imc-config.c \
imc-events.c imc-version.c imc-mercbase.c ice.c icec.c icec-mercbase.c
O_FILES = act_comm.o act_info.o act_move.o act_obj.o act_wiz.o boards.o \
build.o clans.o comm.o comments.o const.o db.o deity.o fight.o \
handler.o hashstr.o ibuild.o ident.o interp.o magic.o makeobjs.o \
mapout.o misc.o mpxset.o mud_comm.o mud_prog.o player.o polymorph.o \
requests.o reset.o save.o shops.o skills.o special.o tables.o \
track.o update.o grub.o stat_obj.o ban.o services.o planes.o \
imm_host.o $(IMC_OFILES) colorize.o
C_FILES = act_comm.c act_info.c act_move.c act_obj.c act_wiz.c boards.c \
build.c clans.c comm.c comments.c const.c db.c deity.c fight.c \
handler.c hashstr.c ibuild.c ident.c interp.c magic.c makeobjs.c \
mapout.c misc.c mpxset.c mud_comm.c mud_prog.c player.c polymorph.c \
requests.c reset.c save.c shops.c skills.c special.c tables.c \
track.c update.c grub.c stat_obj.c ban.c services.c planes.c \
imm_host.c $(IMC_CFILES) colorize.c
H_FILES = mud.h bet.h imc-config.h imc-mercbase.h imc-mercdefs.h imc.h \
ice.h icec.h icec-mercbase.h
all:
make smaug
smaug: $(O_FILES)
rm -f smaug
$(CC) $(L_FLAGS) $(USE_IMC) -o smaug $(O_FILES)
chmod g+w smaug.exe
chmod a+x smaug.exe
chmod g+w $(O_FILES)
.c.o: mud.h
$(CC) -c $(C_FLAGS) $(USE_IMC) $<
clean:
rm -f *.o smaug *~
| top |
|
| Posted by |
Nick Gammon
Australia (18,772 posts) bio
Forum Administrator |
| Date |
Reply #1 on Fri 17 Aug 2001 10:30 PM (UTC) [ quote
] |
| Message |
I don't understand the missing RENAME, because at that line in the source (eg. act_wiz.c:4880) there is a reference to "rename" not "RENAME" - as C is case-sensitive.
About the only way that link error would happen is if you had something like this in mud.h:
#define rename RENAME
but there is no such thing.
Anyway, after changing the makefile, I suggest you delete the object files, as it doesn't know to recompile if you have only changed compiler options, eg. type:
rm *.o
|
- Nick Gammon
www.gammon.com.au, www.mushclient.com | top |
|
| Posted by |
Yakir
(17 posts) bio
|
| Date |
Reply #2 on Sat 18 Aug 2001 09:43 AM (UTC) [ quote
] |
| Message |
I tried deleting all the .o files and recompile. It didn't work because i had 'REG = -DREGEX' uncommented in the Makefile so I commented it and most of the .o files compiled correctly with a few 'else' errors. But then it stoped in the same place as before with the same problems and errors. I just don't know what to do.
I thought that I may have inadvertently copied one or more of the src files edited for the Borland compiler, so I replaced all the src files with the originals from the .tgz file, but it didn't help and I still can't compile. Anyone have any ideas? I'm all out.
One more thought: My machine currently runs Windows ME until I can get my brother to get over to my place to gimme a hand to install Debian Linux. As it turns out, Microsoft being the geniuses that they are decided to take 'Real Dos' mode out of WinME to shorten the load time by about 25 - 30 seconds, the fools. So, I had to manualy install 'Real Dos' mode so that I could run things such as Borland C++ Builder 5.5, a few older games and the like. I was thinking that maybe some problem with dos is messing up the compile.
Any thoughts? | top |
|
| Posted by |
Nick Gammon
Australia (18,772 posts) bio
Forum Administrator |
| Date |
Reply #3 on Sat 18 Aug 2001 11:32 PM (UTC) [ quote
] |
| Message |
It is hard to say what has happened, especially when it works for me, although it sounds like you have a slightly different version of Cygwin.
Certainly, installing Linux will simplify things, because you are then compiling on the operating system it was originally written for.
You can set up a "dual-boot" PC, so you can boot into Windows (eg. to play games) and Linux for other things. |
- Nick Gammon
www.gammon.com.au, www.mushclient.com | top |
|
| Posted by |
Yakir
(17 posts) bio
|
| Date |
Reply #4 on Sun 19 Aug 2001 11:49 AM (UTC) [ quote
] |
| Message |
| Yah, I've already got BeOS (www.be.com) on my system. Anyway Curious isn't it that no mud has yet been ported to BeOS? Anyway, thanks for your help. I realy apreciate it. | top |
|
The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).
To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.
1,889 views.
Reply to this subject
Start a new subject
 
Refresh page
top
Comments to:
Gammon Software support
Forum RSS feed ( http://www.gammon.com.au/rss/forum.xml )