Building with CMake
Since the tutorials haven't been updated yet. The follow are some pointers on compiling EQEmu with CMake. This assumes you already have an environment that could build EQEmu before the CMake change over. So, this information is to help people change over to the CMake system from the old way of doing it.
In addition to installing the other packages that tutorials tell you to, you'll need to install cmake. Ubuntu/Debian users will run: Code:
sudo apt-get install cmake Code:
cmake -i If you're on an AMD64 system you'll want to say "yes" to the advanced options. This is to allow you to disable the -O2 and -O3 optimizations that mess up the stringstream stuff that plague us. For example: Code:
$ cmake -i Then: Code:
Variable Name: CMAKE_CXX_FLAGS_RELWITHDEBINFO Again later: Code:
Variable Name: CMAKE_C_FLAGS_RELEASE Last -O2 entry: Code:
Variable Name: CMAKE_C_FLAGS_RELWITHDEBINFO Finally, if you want "Bots": Code:
Variable Name: EQEMU_ENABLE_BOTS After "cmake -i" finishes, to compile the build: Code:
make clean && make Code:
cp Bin/* <server directory> Finally, if you're on a multi-core system you can use "make -jx" (instead of just "make") where x is the number of CPU cores you want to use during compile. This greatly speeds up the compile. For example, on my quad-core system I use "make -j3" to use 3 cores, because my one of my cores is usually really busy with MySQL queries. |
RelWithDebInfo without -O2 is just Debug, no need to do that just change the build type from RelWithDebInfo to Debug. That said if linux is crashing with -O2 that's a problem.
|
Quote:
Always seemed like an odd use of stingstream to me, but I didn't see anything obviously wrong with it that would cause the crash. |
This issue has been around for a while. It affects SoF+ clients (as mentioned), and as far as I can tell, it maybe limited to AMD64 platforms. Then again, I don't know which CPU architecture the other people that have this issue are using. So, I could be completely wrong about it. I've been having this particular issue since 2009:
http://www.eqemulator.org/forums/sho...d.php?p=181174 Back then I use using a single core Athlon64 w/ Ubuntu 8.04 (I only use the LTS versions). Now I'm on an Athlon II x4 w/ Ubuntu 12.04, and I still have the same problem. I don't have any Core2 (or newer) Intel systems laying around to test with so I have no clue if the issue affects them or not. |
Yeah I remember it now, we're going to make it a priority to fix next if possible. I don't remember seeing anything wrong with the string stream code either when I looked at it. If it comes down to it I'll rewrite the code without stringstreams.
|
That sounds awesome. I'm looking forward to it!
|
For now, since it's a lot of work and the idea of people building without -O2 in release mode for a week will kill me inside we're going to set those particular patch files to -O0 on Unix64 for now. We're still gonna fix the bug too though.
|
nice. I just snagged Rev 2443 and built it. I didn't change any of the "advanced" cmake -i settings and only enabled bots. I'm able to log into game without changing the optimization settings.
|
All times are GMT -4. The time now is 06:25 AM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.