Error when using "make"

Posted by Elphenor on Thu 21 Apr 2011 03:49 AM — 14 posts, 49,785 views.

#0
I encountered an error when attempting to use the Make command it looks like this:

act_move.c:604: error: lvalue required as left operand of assignment
make[1]: *** [act_move.o] Error 1
make[1] Leaving directory '/home/Christian/smaug/dist/src'
make *** [all] Error 2

Can someone please help me with my problem?

USA #1
What codebase are you using? Looks like stock Smaug. Any reason you're using that over SmaugFUSS?
Australia Forum Administrator #2
And to help we would need to see an excerpt of act_move.c around line 604. Without mentioning the server version we would be totally guessing what that line might have on it.

And I agree with Zeno.

Modern gcc compilers have tightened up a lot of syntax checks, older versions of Smaug that used to compile in the past, won't now. Using SmaugFUSS will solve that, as it compiles "out of the box".
#3
Okay, thanks. Sorry, I didn't know how much of the code I should post.I can't understand any of it. But if there is a better version of it, I will certainly try that first.
Australia Forum Administrator #4
Try getting SmaugFUSS from:

http://www.smaugmuds.org/index.php?a=files
#5
Okay I downloaded it and I'm still not entirely sure how to compile it.

Is it possible for someone to give me a really (really) dumbed down explanation on how to do it? I've been trying to figure this out for awhile now...

I am using Cygwin, and so following the steps in the readme I am supposed to start by

1.Change to dist/src directory

I'm not entirely sure what that is, following the directions that are elsewhere on this site, I figured out how to do what I thought was that with the other file. What exactly do I do to do that?

2. Next it says to open the Makefile and then uncomment the Cygwin comment.

What and where is the Cygwin comment? Shouldn't it be something with this symbol next to it #? I'm really not sure what to do there...

I know I'm screwing up on what should be really easy, but any help would be much appreciated.

#6
Okay, so I think I figured out "step 1" but I'm still confused about the comment part.

Thanks in advance to anyone who helps
Australia Forum Administrator #7
Any text editor should open up Makefile. Like, Notepad, Wordpad, and various other free and non-free editors.
#8
So I think I got it to work, I can connect to it using a client, but none of the commands work. I logged on with admin/admin and anything I type in only comes back as "huh?". The only command I got to work was "dance".

Maybe that is because I'm not putting in the right commands, I tried accessing help files within the game but all I got was "huh?". I don't know if that is because there aren't any or if there is an error, or if I'm just not typing in the right thing.

More strange is that when I log in as a regular character, still none of the commands work. Just like with the admin character if I put in north I get "huh", or really anything I get "huh?". It says when I log in with a normal character to type in "HelpStart". I tried that and all I got was "huh?".

Is this supposed to happen?

I'm just wondering if I am just using it incorrectly and need to learn how to use the builder and stuff or if something got messed up in the compiling process.

Australia Forum Administrator #9
I think that is something to do with the way the commands are dynamically linked. Try asking on the SmaugFUSS forum, they will be familiar with that.
#10
Okay, the problem is that I didn't uncomment the Cygwin definition. What is the Cygwin definition? I know it is in the MakeFile, and I opened it up but I don't know where in the Makefile it is. Here is what the Makefile looks like:


# Project: SmaugFUSS
# Makefile created by Dev-C++ 4.9.9.2

CPP = g++.exe
CC = gcc.exe
WINDRES = windres.exe
RES =
OBJ = src/o/act_comm.o src/o/act_info.o src/o/act_move.o src/o/act_obj.o src/o/act_wiz.o src/o/ban.o src/o/boards.o src/o/build.o src/o/clans.o src/o/color.o src/o/comm.o src/o/comments.o src/o/const.o src/o/db.o src/o/deity.o src/o/fight.o src/o/handler.o src/o/hashstr.o src/o/hotboot.o src/o/imc.o src/o/imm_host.o src/o/interp.o src/o/magic.o src/o/makeobjs.o src/o/mapout.o src/o/mccp.o src/o/misc.o src/o/mpxset.o src/o/mud_comm.o src/o/mud_prog.o src/o/planes.o src/o/player.o src/o/polymorph.o src/o/reset.o src/o/save.o src/o/services.o src/o/sha256.o src/o/shops.o src/o/skills.o src/o/special.o src/o/tables.o src/o/track.o src/o/update.o $(RES)
LINKOBJ = src/o/act_comm.o src/o/act_info.o src/o/act_move.o src/o/act_obj.o src/o/act_wiz.o src/o/ban.o src/o/boards.o src/o/build.o src/o/clans.o src/o/color.o src/o/comm.o src/o/comments.o src/o/const.o src/o/db.o src/o/deity.o src/o/fight.o src/o/handler.o src/o/hashstr.o src/o/hotboot.o src/o/imc.o src/o/imm_host.o src/o/interp.o src/o/magic.o src/o/makeobjs.o src/o/mapout.o src/o/mccp.o src/o/misc.o src/o/mpxset.o src/o/mud_comm.o src/o/mud_prog.o src/o/planes.o src/o/player.o src/o/polymorph.o src/o/reset.o src/o/save.o src/o/services.o src/o/sha256.o src/o/shops.o src/o/skills.o src/o/special.o src/o/tables.o src/o/track.o src/o/update.o $(RES)
LIBS = -L"C:/Dev-Cpp/lib"
INCS = -I"C:/Dev-Cpp/include"
CXXINCS = -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include"
BIN = area/smaug.exe
CXXFLAGS = $(CXXINCS)
CFLAGS = $(INCS) -DIMC -DIMCSMAUG
RM = rm -f

.PHONY: all all-before all-after clean clean-custom

all: all-before area/smaug.exe all-after


clean: clean-custom
${RM} $(OBJ) $(BIN)

$(BIN): $(OBJ)
$(CC) $(LINKOBJ) -o "area\smaug.exe" $(LIBS) -lz -lwinmm -lwsock32 -ladvapi32

src/o/act_comm.o: src/act_comm.c
$(CC) -c src/act_comm.c -o src/o/act_comm.o $(CFLAGS)

src/o/act_info.o: src/act_info.c
$(CC) -c src/act_info.c -o src/o/act_info.o $(CFLAGS)

src/o/act_move.o: src/act_move.c
$(CC) -c src/act_move.c -o src/o/act_move.o $(CFLAGS)

src/o/act_obj.o: src/act_obj.c
$(CC) -c src/act_obj.c -o src/o/act_obj.o $(CFLAGS)

src/o/act_wiz.o: src/act_wiz.c
$(CC) -c src/act_wiz.c -o src/o/act_wiz.o $(CFLAGS)

src/o/ban.o: src/ban.c
$(CC) -c src/ban.c -o src/o/ban.o $(CFLAGS)

src/o/boards.o: src/boards.c
$(CC) -c src/boards.c -o src/o/boards.o $(CFLAGS)

src/o/build.o: src/build.c
$(CC) -c src/build.c -o src/o/build.o $(CFLAGS)

src/o/clans.o: src/clans.c
$(CC) -c src/clans.c -o src/o/clans.o $(CFLAGS)

src/o/color.o: src/color.c
$(CC) -c src/color.c -o src/o/color.o $(CFLAGS)

src/o/comm.o: src/comm.c
$(CC) -c src/comm.c -o src/o/comm.o $(CFLAGS)

src/o/comments.o: src/comments.c
$(CC) -c src/comments.c -o src/o/comments.o $(CFLAGS)

src/o/const.o: src/const.c
$(CC) -c src/const.c -o src/o/const.o $(CFLAGS)

src/o/db.o: src/db.c
$(CC) -c src/db.c -o src/o/db.o $(CFLAGS)

src/o/deity.o: src/deity.c
$(CC) -c src/deity.c -o src/o/deity.o $(CFLAGS)

src/o/fight.o: src/fight.c
$(CC) -c src/fight.c -o src/o/fight.o $(CFLAGS)

src/o/handler.o: src/handler.c
$(CC) -c src/handler.c -o src/o/handler.o $(CFLAGS)

src/o/hashstr.o: src/hashstr.c
$(CC) -c src/hashstr.c -o src/o/hashstr.o $(CFLAGS)

src/o/hotboot.o: src/hotboot.c
$(CC) -c src/hotboot.c -o src/o/hotboot.o $(CFLAGS)

src/o/imc.o: src/imc.c
$(CC) -c src/imc.c -o src/o/imc.o $(CFLAGS)

src/o/imm_host.o: src/imm_host.c
$(CC) -c src/imm_host.c -o src/o/imm_host.o $(CFLAGS)

src/o/interp.o: src/interp.c
$(CC) -c src/interp.c -o src/o/interp.o $(CFLAGS)

src/o/magic.o: src/magic.c
$(CC) -c src/magic.c -o src/o/magic.o $(CFLAGS)

src/o/makeobjs.o: src/makeobjs.c
$(CC) -c src/makeobjs.c -o src/o/makeobjs.o $(CFLAGS)

src/o/mapout.o: src/mapout.c
$(CC) -c src/mapout.c -o src/o/mapout.o $(CFLAGS)

src/o/mccp.o: src/mccp.c
$(CC) -c src/mccp.c -o src/o/mccp.o $(CFLAGS)

src/o/misc.o: src/misc.c
$(CC) -c src/misc.c -o src/o/misc.o $(CFLAGS)

src/o/mpxset.o: src/mpxset.c
$(CC) -c src/mpxset.c -o src/o/mpxset.o $(CFLAGS)

src/o/mud_comm.o: src/mud_comm.c
$(CC) -c src/mud_comm.c -o src/o/mud_comm.o $(CFLAGS)

src/o/mud_prog.o: src/mud_prog.c
$(CC) -c src/mud_prog.c -o src/o/mud_prog.o $(CFLAGS)

src/o/planes.o: src/planes.c
$(CC) -c src/planes.c -o src/o/planes.o $(CFLAGS)

src/o/player.o: src/player.c
$(CC) -c src/player.c -o src/o/player.o $(CFLAGS)

src/o/polymorph.o: src/polymorph.c
$(CC) -c src/polymorph.c -o src/o/polymorph.o $(CFLAGS)

src/o/reset.o: src/reset.c
$(CC) -c src/reset.c -o src/o/reset.o $(CFLAGS)

src/o/save.o: src/save.c
$(CC) -c src/save.c -o src/o/save.o $(CFLAGS)

src/o/services.o: src/services.c
$(CC) -c src/services.c -o src/o/services.o $(CFLAGS)

src/o/sha256.o: src/sha256.c
$(CC) -c src/sha256.c -o src/o/sha256.o $(CFLAGS)

src/o/shops.o: src/shops.c
$(CC) -c src/shops.c -o src/o/shops.o $(CFLAGS)

src/o/skills.o: src/skills.c
$(CC) -c src/skills.c -o src/o/skills.o $(CFLAGS)

src/o/special.o: src/special.c
$(CC) -c src/special.c -o src/o/special.o $(CFLAGS)

src/o/tables.o: src/tables.c
$(CC) -c src/tables.c -o src/o/tables.o $(CFLAGS)

src/o/track.o: src/track.c
$(CC) -c src/track.c -o src/o/track.o $(CFLAGS)

src/o/update.o: src/update.c
$(CC) -c src/update.c -o src/o/update.o $(CFLAGS)


What do I need to do to this file to make it work?
Australia Forum Administrator #11
Your Makefile doesn't look like mine. Maybe they changed the way it works. In mine I see this near the start:


CC      = g++
#PROF    = -p

#Uncomment to compile in Cygwin
#CYGWIN = -DCYGWIN

#Uncomment the line below if you are getting undefined references to dlsym, dlop
en, and dlclose.
#Comment it out if you get errors about ldl not being found.
NEED_DL = -ldl

#Some systems need this for dynamic linking to work.
EXPORT_SYMBOLS = -export-dynamic


The relevant line is about the 5th one, and you remove the "#" to uncomment it, so it reads:


CYGWIN = -DCYGWIN

#12
Hmm, that's weird my makefile doesn't have anything like that. I'll have to check with the other forum or something.
#13
Oh wait, I think I figured it out. I was looking at the wrong file...