Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to verify your details, confirm your email, resolve issues, making threats, or asking for money, are
spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the
password reset link.
Entire forum
➜ SMAUG
➜ Compiling the server
➜ Compiles fine, but commands won't work when I start it
Compiles fine, but commands won't work when I start it
|
Posting of new messages is disabled at present.
Refresh page
Pages: 1 2
Posted by
| Dbaker84
(26 posts) Bio
|
Date
| Mon 04 Aug 2008 09:19 PM (UTC) |
Message
| I just downloaded, unzipped, and compiled a fresh install of smaugfuss 1.9 on cygwin. It compiled with no errors and everything seemed to be okay. I started the server and logged on with admin, but for some reason no commands were recognized; I got "Huh?" for everything on tried. Socials *did* work though.
I closed it down and recompiled and restarted it, and watched the start more closely this time. I found that I was getting a ton of errors similar to the following:
BUG: Error location XXXXX in symbol dable. No error
BUG: fread_command: Function XXXXX not found for XXXXX.
There appears to be one of these errors for every command, leading me to believe that things aren't compiling right after all. I vaguely remember having this problem when I compiled a 1.7 more than a year ago, but I don't have any idea how I fixed it. I'm using the generic Makefile with the line for cygwin near the beginning uncommented; no changes other than that. Any help would be greatly appreciated
|
I can haz Smaug? | Top |
|
Posted by
| David Haley
USA (3,881 posts) Bio
|
Date
| Reply #1 on Mon 04 Aug 2008 09:21 PM (UTC) |
Message
| Do you have the dynamic link library? I think it's called libdl in the Cygwin package list. |
David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone
http://david.the-haleys.org | Top |
|
Posted by
| Dbaker84
(26 posts) Bio
|
Date
| Reply #2 on Mon 04 Aug 2008 09:24 PM (UTC) |
Message
| I believe when I installed cygwin I installed EVERYTHING, but then again I'm relatively new to all this. What would be the easiest way to check that? |
I can haz Smaug? | Top |
|
Posted by
| David Haley
USA (3,881 posts) Bio
|
Date
| Reply #3 on Mon 04 Aug 2008 09:45 PM (UTC) |
Message
| You would re-run the setup.exe program and make sure that the entry "libdl" is checked. (Note though that it might not be called exactly that... I'm at work and going from memory here.)
Or maybe you already have it installed, and need to add -ldl to the linker flags... |
David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone
http://david.the-haleys.org | Top |
|
Posted by
| Dbaker84
(26 posts) Bio
|
Date
| Reply #4 on Mon 04 Aug 2008 09:52 PM (UTC) |
Message
| Looks like libdl is there, and I added -ldl to my L_FLAGS line; it's still doing the exact same things.
Here's the makefile, just in case I've screwed something up
CC = g++
#PROF = -p
#Uncomment to compile in Cygwin
CYGWIN = -DCYGWIN
#Uncomment the line below if you are getting undefined references to dlsym, dlopen, 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
# Uncomment the two lines below if compiling on a Solaris box
#SOLARIS_FLAG = -Dsun -DSYSV
#SOLARIS_LINK = -lnsl -lsocket
#IMC2 - Comment out to disable IMC2 support
IMC = 1
W_FLAGS = -Wall -Werror -Wshadow -Wformat-security -Wpointer-arith -Wcast-align -Wredundant-decls -Wconversion -Wwrite-strings
C_FLAGS = -g2 $(W_FLAGS) $(SOLARIS_FLAG) $(PROF) $(EXPORT_SYMBOLS)
L_FLAGS = $(PROF) $(SOLARIS_LINK) -lz $(NEED_DL) -ldl
#D_FLAGS : For the DNS Slave process. No need in linking all the extra libs for this.
D_FLAGS = -g2 -O $(PROF) $(SOLARIS_LINK)
C_FILES = act_comm.c act_info.c act_move.c act_obj.c act_wiz.c ban.c boards.c \
build.c calendar.c chess.c clans.c color.c comm.c comments.c const.c db.c deity.c \
dns.c fight.c handler.c hashstr.c hint.c hotboot.c imm_host.c interp.c \
liquids.c magic.c makeobjs.c mapout.c mapper.c mccp.c \
misc.c mpxset.c mud_comm.c mud_prog.c news.c planes.c player.c polymorph.c \
renumber.c reset.c save.c services.c sha256.c shops.c skills.c special.c tables.c \
track.c update.c variables.c weather.c
ifdef IMC
C_FILES := imc.c $(C_FILES)
C_FLAGS := $(C_FLAGS) -DIMC -DIMCSMAUG
endif
O_FILES := $(patsubst %.c,o/%.o,$(C_FILES))
H_FILES = $(wildcard *.h)
all:
$(MAKE) -s smaug
$(MAKE) -s dns
# pull in dependency info for *existing* .o files
-include dependencies.d
ifdef CYGWIN
smaug: $(O_FILES)
rm -f smaug.exe
dlltool --export-all --output-def smaug.def $(O_FILES)
dlltool --dllname smaug.exe --output-exp smaug.exp --def smaug.def
$(CC) -o smaug.exe $(O_FILES) smaug.exp $(L_FLAGS)
@echo "Generating dependency file ...";
@$(CC) -MM $(C_FLAGS) $(C_FILES) > dependencies.d
@perl -pi -e 's.^([a-z]).o/$$1.g' dependencies.d
@echo "Done compiling mud.";
chmod g+w smaug.exe
chmod a+x smaug.exe
chmod g+w $(O_FILES)
clean:
@rm -f o/*.o smaug.exe dependencies.d resolver.exe resolver.o *~
else
smaug: $(O_FILES)
rm -f smaug
$(CC) -export-dynamic -o smaug $(O_FILES) $(L_FLAGS)
@echo "Generating dependency file ...";
@$(CC) -MM $(C_FLAGS) $(C_FILES) > dependencies.d
@perl -pi -e 's.^([a-z]).o/$$1.g' dependencies.d
@echo "Done compiling mud.";
chmod g+w smaug
chmod a+x smaug
chmod g+w $(O_FILES)
clean:
@rm -f o/*.o smaug dependencies.d resolver resolver.o *~
endif
dns: resolver.o
rm -f resolver
$(CC) $(D_FLAGS) -o resolver resolver.o
@echo "Done compiling DNS resolver.";
chmod g+w resolver
chmod a+x resolver
chmod g+w resolver.o
indent:
indent -ts3 -nut -nsaf -nsai -nsaw -npcs -npsl -ncs -nbc -bls -prs -bap -cbi0 -cli3 -bli0 -l125 -lp -i3 -cdb -c1 -cd1 -sc -pmt $(C_FILES)
indent -ts3 -nut -nsaf -nsai -nsaw -npcs -npsl -ncs -nbc -bls -prs -bap -cbi0 -cli3 -bli0 -l125 -lp -i3 -cdb -c1 -cd1 -sc -pmt $(H_FILES)
indentclean:
rm *.c~ *.h~
o/%.o: %.c
echo " Compiling $@....";
$(CC) -c $(C_FLAGS) $< -o $@
.c.o: mud.h
$(CC) -c $(C_FLAGS) $<
|
I can haz Smaug? | Top |
|
Posted by
| Dbaker84
(26 posts) Bio
|
Date
| Reply #5 on Mon 04 Aug 2008 09:58 PM (UTC) |
Message
| I just realized something weird was happening when I compiled:
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../1686-pc-cygwin/bin/ld: warning: auto-importing has been activated without --enable-auto-import specified on the command line.
This should work unless it involves constant datat structures referencing symbols from auto-imported DLLs.Info: resolving __timezone by linking to __imp__timezone (auto-import) |
I can haz Smaug? | Top |
|
Posted by
| Robert Powell
Australia (367 posts) Bio
|
Date
| Reply #6 on Mon 04 Aug 2008 10:31 PM (UTC) |
Message
| Cygwin and dynamic linking can be rather hit and miss, I would suggest not using cygwin at all and installing andlinux.
Unlike cygwin which emulates linux, Andlinux is a port of the linux kernal to the windows environment, which means it is native linux and you do not have any of the troubles that arise with emulation.
Andlinux installs just like an application in any 32 bit windows environment and can run any linux application using windows as the desktop.
Check it out, it will make your life a whole lot easier, real linux without the dual boot hassles. |
Just a guy having a bit of fun. Nothing more, nothing less, I do not need I WIN to feel validated. | Top |
|
Posted by
| David Haley
USA (3,881 posts) Bio
|
Date
| Reply #7 on Mon 04 Aug 2008 11:02 PM (UTC) |
Message
| This is supposed to be working out of the box; even if other solutions exist it's a little disconcerting that basic commands aren't working. I don't have access to Cygwin otherwise I'd take a look myself. Maybe somebody else has an idea? |
David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone
http://david.the-haleys.org | Top |
|
Posted by
| Dbaker84
(26 posts) Bio
|
Date
| Reply #8 on Tue 05 Aug 2008 12:36 AM (UTC) |
Message
| Okay, finally got it to work somehow. I redownloaded the entire package and started from square one. It still wasn't linking properly, but putting the -ldl in L_FLAGS of the new Makefile seems to have fixed the problem. I'm still getting fread errors on mpechozone, mez, and style and a few other commands. Other than that, things seem to be okay.
Thanks for the update, I'll post if anything else goes wonky. |
I can haz Smaug? | Top |
|
Posted by
| Grif
(19 posts) Bio
|
Date
| Reply #9 on Sun 08 Mar 2009 07:48 PM (UTC) |
Message
| Im having the same issue, but when i make and start, nothing shows up at all... | Top |
|
Posted by
| Grif
(19 posts) Bio
|
Date
| Reply #10 on Mon 09 Mar 2009 07:57 PM (UTC) |
Message
| Ok i lied i didnt notice it was going to a log somewhere. Yea Im getting the fread errors too... | Top |
|
Posted by
| Zeno
USA (2,871 posts) Bio
|
Date
| Reply #11 on Mon 09 Mar 2009 11:57 PM (UTC) |
Message
| Did you try what was suggested? |
Zeno McDohl,
Owner of Bleached InuYasha Galaxy
http://www.biyg.org | Top |
|
Posted by
| Grif
(19 posts) Bio
|
Date
| Reply #12 on Tue 10 Mar 2009 12:15 AM (UTC) |
Message
| Im not sure exactly where to put the -ldl so heres where i put it...
L_FLAGS = $(PROF) $(SOLARIS_LINK) -lz $(NEED_DL) -ldl
If thats wrong let me know...but yea i put that in, did make and started it up. Still no luck. | Top |
|
Posted by
| Zeno
USA (2,871 posts) Bio
|
Date
| Reply #13 on Tue 10 Mar 2009 01:21 AM (UTC) |
Message
| What about the Cygwin packages? |
Zeno McDohl,
Owner of Bleached InuYasha Galaxy
http://www.biyg.org | Top |
|
Posted by
| Grif
(19 posts) Bio
|
Date
| Reply #14 on Wed 11 Mar 2009 12:03 PM (UTC) |
Message
| From what I can tell from what I can download, yea I have it. I also downloaded the smaugfuss executable and that comes with 2 cygwin parts, but Im not sure if i need to move those or what. | 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.
57,598 views.
This is page 1, subject is 2 pages long: 1 2
Posting of new messages is disabled at present.
Refresh page
top