Not sure why this is, but it cost me time yet again today. So I am making source changes, this time adding some NPC stats like minimum damage, maximum damage, mainly because I want them in the database. I know the code is right, there is no reason it would not be but I get consistent crashes during the loading of the zone. I spend probably close to 30 minutes going back through my code changes to make sure I do not have something "casting" wrong, like a float -> Int32 or such. I cannot find anything wrong with my code, looks perfect. The error looks like another Mutex issue. But in the log.cpp file? WTF I have not even touched that. What I was editing was world database and entity.cpp, no where near log.cpp.
The culprit ? I had changed a header file, this time entity.h and not done a make clean. So is this a normal thing? I have changed header files before with no issue but 50% of the time I have to do a make clean before make. That other 50% of the time I get a crash at some point before I remember it may need a make clean.
Make Clean
Moderator: Team Members
- Gangrenous
- Posts: 812
- Joined: Sun Apr 24, 2016 6:54 am
- Characters: Dinsmoor
Make Clean
Resident Dirty Hippy
-
Jabantiz
- Lead Developer
- Posts: 2912
- Joined: Wed Jul 25, 2007 2:52 pm
- Location: California
Re: Make Clean
Linux should always have a clean before a make I have discovered, it really is a gamble when you compile without doing a clean first and can cause rather odd errors that make no sense as you just found out.
-
tyrbo
- Team Member
- Posts: 271
- Joined: Thu Feb 18, 2016 12:33 pm
Re: Make Clean
That's good to know. I've had a number of crashes and I'm curious how many of them might be actual crashes and how many are caused by make/make clean wonkyness.
- John Adams
- Retired
- Posts: 9684
- Joined: Thu Jul 26, 2007 6:27 am
- EQ2Emu Server: EQ2Emulator Test Center
- Characters: John
- Location: Arizona
- Contact:
Re: Make Clean
I kept forgetting 'make clean' myself a lot in the beginning, so I made my system idiot-proof in a manner of speaking. I wrote a BASH script called 'compile', and taught myself to never use 'make' unless I am debugging.
It does something similar to this (tweak as necessary):
It does something similar to this (tweak as necessary):
Code: Select all
cd /eq2emu/svn/root/folder
svn update
cd source/WorldServer
echo "Compiling EQ2World..."
make clean
make -j4
if [ -f eq2world ]
then
echo "SUCCESS!"
# launch binary here
else
echo "Compile of WorldServer FAILED! Aborting!"
fi
Who is online
Users browsing this forum: No registered users and 0 guests