[hlcoders] Linux compiling question

2005-05-11 Thread Patrick Flanagan
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



RE: [hlcoders] Linux compiling question

2005-05-11 Thread Alfred Reynolds
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



Re: [hlcoders] Linux compiling question

2005-05-11 Thread Patrick Flanagan
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