Trying to run server on different architecture.
I have compiled the server under for linux on a non-x86 architecture, and am in the process of getting it all running. Both world and zone programs crash with a Segmentation fault at "Loading variables"
I have the database setup properly with permissions (database runs on a different device), I have successfully connected to the database from another EQemu install on windows. Does anyone know where I should be looking for the problem? I have a bit of C programming experience so I will monkey around with it. The problem seems to be from somewhere in the \common directory somewhere in the database progs but I haven't narrowed it down to exactly where. For those interested, I am trying to compile this on a kirkwood armel architecture device running Debian linux 3.3.2. I am pretty new to linux and have just started monkeying around with these but they are running linux well now and want to toy with seeing if I can get EQEmu running on them. Thanks for any suggestions. |
Is it a big endian machine? I would expect you to have many issues on one of those.
|
I wasn't sure, but found this:
Most ARM CPUs may be run in either endian mode (big or little). However, the majority of current system implementation uses little-endian mode. Debian currently only supports little-endian ARM systems. So this must be little endian. |
Run it under a debugger and report back the results.
You probably already have gdb since you're running Debian. |
Code:
(gdb) run |
I see #if DEBUG_MYSQL_QUERIES >= 1 and #ifdef _EQDEBUG a lot around the code that is causing me problems. Are there other defines I should look to activate? Also, where will I see the output from these?
FYI I have traced these into Database::LoadVariables(from database.cpp) and DBcore::RunQuery(from DBcore.cpp) functions, so I am going to see from there where this leads me. I am not good with gdb I need to find out how to see some of the variables that are getting passed. |
When it crashes, type 'bt' to see a stack trace with the variables that were passed to the function. 'info locals' will show you the local variables for a particular stack frame, and 'print x' will show you the contents of other variables, where 'x' is their name. 'up' moves up a frame, and 'down' moves down a frame.
|
All times are GMT -4. The time now is 07:49 AM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.