I ran
nm server_i486.so nm_out.txt
and then
grep -n U nm_out.txt
and I get this:
1: U acosf@@GLIBC_2.0
2: U acos@@GLIBC_2.0
332: U asin@@GLIBC_2.0
387: U CommandLine
391: U cosf@@GLIBC_2.0
392: U cos@@GLIBC_2.0
440: U __cxa_allocate_exception
441: U __cxa_atexit@@GLIBC_2.1.3
444: U __cxa_begin_catch
445: U __cxa_call_unexpected
446: U __cxa_end_catch
448: U __cxa_free_exception
449: U __cxa_pure_virtual
450: U __cxa_rethrow
451: U __cxa_throw
458: U dcgettext@@GLIBC_2.0
467: U DevMsg
469: U DevWarning
472: U dlclose@@GLIBC_2.0
473: U dlerror@@GLIBC_2.0
474: U dlopen@@GLIBC_2.1
475: U dlsym@@GLIBC_2.0
489: U __dynamic_cast
617: U Error
622: U expf@@GLIBC_2.0
664: U free@@GLIBC_2.0
871: U g_ClockSpeedMillisecondsMultiplier
872: U g_ClockSpeedSecondsMultiplier
1049: U GetCPUInformation
1050: U getcwd@@GLIBC_2.0
1051: U getenv@@GLIBC_2.0
1715: U g_pMemAlloc
1838: U g_pVCR
1958: U g_VProfCurrentProfile
1963: U __gxx_personality_v0
2031: U isalnum@@GLIBC_2.0
2032: U isspace@@GLIBC_2.0
2073: U KeyValuesSystem
2089: U log10@@GLIBC_2.0
2090: U logf@@GLIBC_2.0
2091: U log@@GLIBC_2.0
2111: U malloc@@GLIBC_2.0
2120: U MemAllocScratch
2121: U memchr@@GLIBC_2.0
2122: U memcpy@@GLIBC_2.0
2123: U MemFreeScratch
2124: U memmove@@GLIBC_2.0
2125: U memset@@GLIBC_2.0
2152: U Msg
2403: U Plat_FloatTime
2445: U pow@@GLIBC_2.0
2475: U printf@@GLIBC_2.0
2511: U Q_atof
2512: U Q_atoi
2513: U Q_binarytohex
2514: U Q_FileBase
2515: U Q_FixSlashes
2516: U Q_IsAbsolutePath
2517: U Q_pretifymem
2518: U Q_SetExtension
2519: U Q_snprintf
2520: U qsort@@GLIBC_2.0
2521: U Q_strcasecmp
2522: U Q_strcat
2523: U Q_StripFilename
2524: U Q_stristr
2525: U Q_strncasecmp
2526: U Q_strncat
2527: U Q_strncmp
2528: U Q_strncpy
2529: U Q_strnicmp
2530: U Q_vsnprintf
2536: U RandomFloat
2537: U RandomInt
(it goes on a while longer).
So does this mean that these symbols are not resolvable in this .so ?
What would cause that problem?
On 5/11/05, Alfred Reynolds [EMAIL PROTECTED] wrote:
Linux .so files only resolve linker dependencies at runtime, you may
have undefined symbols (i.e missing functions) from your server code.
Use the nm tool to find out what is missing ( the U symbols in the
binary).
- Alfred
Original Message
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Patrick
Flanagan Sent: Wednesday, May 11, 2005 1:58 PM To:
hlcoders@list.valvesoftware.com Subject: [hlcoders] Linux compiling
question
After a long battle, I've finally gotten my mod to compile on Linux
and it generates the server_i486.so file.
However, when I try to run the linux server, it doesn't seem to be
recognized and it loads the deathmatch .so instead. For a test, I
replaced the server_i486.so in hl2mp/bin with my mod's server_i486.so
and I got this error:
./srcds_run -console -game hl2ctf +map ctf_defrost +maxplayers 16
Auto detecting CPU Using AMD Optimised binary.
Auto-restarting the server on crash
Console initialized.
Failed to load server_i486.so
Failed to load server binary
maxplayers set to 0
Network: IP 127.0.0.1, mode MP, dedicated Yes, ports 27015 SV / 27005
CL Failed to load server_i486.so Failed to load server binary Can't
start game, no valid server.dll loaded
I've put my mod's compiled server_i486.so file in the /mymod/bin
directory and as a test also replaced the DM .so with it. My question
is, why would the file not be able to load? It compiled fine and I
didn't see any errors linking it, and I don't think the server is
configured wrong because if I use the hl2mp server_i486.so at that
same location then it works.
What could be wrong with my mod's server_i486.so that causes it not
to be loaded?
Thanks,
Patrick
___
To unsubscribe, edit your list preferences, or view the list
archives, please visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders
___
To unsubscribe, edit your list preferences, or view the list archives, please
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders
___
To unsubscribe, edit your list preferences, or view the list archives, please
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders