I recently was able to get my bot compiling under Linux. However, when I try to use the bot, HLDS reports this:
Quote:
LoadLibrary failed on ./valve/dlls/grave_i386.so: ./valve/dlls/grave_i386.so: undefined symbol: __cxa_guard_acquire
Host_Error: Couldn't get DLL API from ./valve/dlls/grave_i386.so!
FATAL ERROR (shutting down): Host_Error: Couldn't get DLL API from ./valve/dlls/grave_i386.so!
|
Anybody know what this "__cxa_guard_acquire" is? Also, even though my liblist.gam points to grave_bot_i386.so, the dedicated server insists on loading grave_i386.so. I had to rename the file. Very strange behavior...
[EDIT] Some additional information. I'm compiling under Fedora Core 3 using GCC 3.4 with it's C++ libraries. Googling "__cxa_guard_acquire" gave me some pages talking about how GCC uses it in linking to make things "thread-safe". I'm not experienced enough with GCC to understand what all of this means exactly. I'm guessing there is perhaps a parmeter I can set in the makefile to disable using __cxa_guard_acquire, but I'm not sure what it'd be...
If someone with a Linux box would volunteer to compile what I have and see if it is a problem with my Fedora Core 3 box (Googling hints at this) or my source, that'd be nice. Any takers? E-mail me, ghoul at nocensmundus dot net.