Re: [hlcoders] Debug linux server crash ?
LOL ! ^^ Andrew Ritchie a écrit : > last time you asked a question > > On Sat, Jul 5, 2008 at 10:16 PM, Nick <[EMAIL PROTECTED]> wrote: > > >> Thanks! I cannot remember the last time someone posted so much good >> information.. >> >> On Sat, Jul 5, 2008 at 3:03 PM, Bombela <[EMAIL PROTECTED]> wrote: >> >>> Yes, it's called coredump. >>> >>> On many GNU/Linux distribution, coredump is disabled by default, for >>> security reason. >>> An simple command can be change this limitation : >>> ulimit -c 2000 >>> >>> 2000 is in kilo bytes. >>> >>> This command must be applied before launch the server. >>> >>> Furthermore Valve provide facility, when you add -debug parameter to >>> srcds_run >>> the ulimit is called with 2000 kilo bytes (like my example). >>> >>> When the server crash, a new file appear, called "core". >>> >>> You can launch gdb on this coredump like that : >>> >>> gdm ./srcds_i686 core >>> >>> Replace srcds_i686 by the executable really used on your system. >>> >>> Bye. >>> >>> vivoli a écrit : >>> >>>> Hi, >>>> >>>> I have a crash with my Linux dedicated server (running my mod). >>>> There is a tool to debug a crash with Linux servers ? (like .mdmp files >>>> for Windows server) >>>> >>>> Thanks. >>>> >>>> ___ >>>> 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 >> >> >> > ___ > 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] Debug linux server crash ?
Yes, it's called coredump. On many GNU/Linux distribution, coredump is disabled by default, for security reason. An simple command can be change this limitation : ulimit -c 2000 2000 is in kilo bytes. This command must be applied before launch the server. Furthermore Valve provide facility, when you add -debug parameter to srcds_run the ulimit is called with 2000 kilo bytes (like my example). When the server crash, a new file appear, called "core". You can launch gdb on this coredump like that : gdm ./srcds_i686 core Replace srcds_i686 by the executable really used on your system. Bye. vivoli a écrit : > Hi, > > I have a crash with my Linux dedicated server (running my mod). > There is a tool to debug a crash with Linux servers ? (like .mdmp files > for Windows server) > > Thanks. > > ___ > 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 Compile
hlcoders mailing list destroy MIME messages. Download files at : http://bombela.free.fr/data/MakeFileImproved.zip ++ Bombela a écrit : This is a multi-part message in MIME format. -- I send you many Makefile specially prepared for easy utilization and compilation. Backup all your Makefile.* and replace it by my Makefile. Don't forget to modifies the header of the file : Makefile for adjust to your configuration. I am ready to help you more. PS : Sorry for my bad English (French :D). Jed a écrit : Err there aren't any files to share. Everything on that page is pretty much what you need to do including links/commands to have stuff download. It even has downloads to Fedora core 6 images for VMWare player if you just want to set-up a virtual machine. I'm working on updating it for Fedora Core 8 at the moment. - Jed On 04/12/2007, Mark Chandler <[EMAIL PROTECTED]> wrote: You mind sharing the files as im a complete noob with linux ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] Linux Compile
This is a multi-part message in MIME format. -- I send you many Makefile specially prepared for easy utilization and compilation. Backup all your Makefile.* and replace it by my Makefile. Don't forget to modifies the header of the file : Makefile for adjust to your configuration. I am ready to help you more. PS : Sorry for my bad English (French :D). Jed a écrit : > Err there aren't any files to share. Everything on that page is pretty > much what you need to do including links/commands to have stuff > download. It even has downloads to Fedora core 6 images for VMWare > player if you just want to set-up a virtual machine. > > I'm working on updating it for Fedora Core 8 at the moment. > > - Jed > > On 04/12/2007, Mark Chandler <[EMAIL PROTECTED]> wrote: > >> You mind sharing the files as im a complete noob with linux >> >> -Original Message- >> From: [EMAIL PROTECTED] >> [mailto:[EMAIL PROTECTED] On Behalf Of Jed >> Sent: Tuesday, December 04, 2007 8:52 PM >> To: hlcoders@list.valvesoftware.com >> Subject: Re: [hlcoders] Linux Compile >> >> Which version of xerces are you using? I tried with 2.7.0 and had all >> sorts of problems so I went back and hand-rolled 2.6.0 from the >> source. >> >> You can find details of how I did it here: >> >> http://developer.valvesoftware.com/wiki/User:Wunderboy/sandbox >> >> - Jed >> >> On 04/12/2007, Mark Chandler <[EMAIL PROTECTED]> wrote: >> >>> Hey guys im having troubles compiling my mod under linux. It gets up to >>> >> the >> >>> stage of trying to compile and then spits this error out: >>> >>> [code] >>> bash-3.1# make >>> if [ -z "gcc" ]; then echo "Compiler not defined."; exit; fi >>> if [ ! -d . ];then mkdir .;fi >>> cd . >>> if [ ! -f "tier0_i486.so" ]; then ln -s >>> /root/gesource/main/bin/tier0_i486.so .; fi >>> if [ ! -f "vstdlib_i486.so" ]; then ln -s >>> /root/gesource/main/bin/vstdlib_i486.so .; fi >>> ./vcpm ../dlls/server.vcproj >>> ./vcpm: error while loading shared libraries: libxerces-c.so.28: cannot >>> >> open >> >>> shared object file: No such file or directory >>> make: *** [mod] Error 127 >>> bash-3.1# >>> [/code] >>> >>> I have set the LD_LIBRARY_PATH to point to xerces dir. I cant find any one >>> else with this error. Any help would be appreciated. >>> >>> ___ >>> 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 >> >> >> > > ___ > To unsubscribe, edit your list preferences, or view the list archives, please > visit: > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > > > -- # # -< Perfect Dark >- # # SDK Makefile for x86 Linux # # $Id: Makefile.pdark 1456 2007-04-22 20:05:26Z bombela $ # # Developer configurable items # # the directory the base binaries (bin/tier0_i486.so, etc) are located GAME_DIR=/media/prog/valve # compiler options (gcc 3.4.1 or above is required) CC=gcc-3.4 CPLUS=g++-3.4 CLINKER=gcc-3.4 # The gcc lib c++ (directory of libstdc++.a and libgcc_eh.a) BASE_CPP_LIB=/usr/lib/gcc/i486-linux-gnu/3.4.6 # XERCES 2.6.0 or above ( http://xml.apache.org/xerces-c/ ) is used by the vcproj to makefile converter # it must be installed before being able to run this makefile XERCES_INC_DIR=/usr/include XERCES_LIB_DIR=/usr/lib # PROJECT DEBUG MODE # Equal 1 for activate. (Or add -D PROJECT_DEBUG=1 make program parameter). # It's usefull for compile with no optimization and use gdb and/or valgrind ;) PROJECT_DEBUG=1 # Use and activate ccache. # Two cache dir are used : # ccache_release # ccache_debug ACTIVE_CCACHE=1 # # Things below here shouldn
Re: [hlcoders] Strange Linux Compile Problem
Hello, Lib problem ? Are you sure all your symbols are rigth defined ? For test simply, juste compile your .so without -fPIC The linking will not successfull, but in this case, you can see all the symbols your code use and if it's not Source Engine symbole this is probably your problem. Another possibility is a memory leak. If your code make memory leak, it's possible to run many times the same programm without bug on P3. On P4 (with another Linux Kernel ?) the memory leak make fatal error. For test all, you can use gdb, and break on your plugin function. In the break, use the gdb code execution for call yourself the function what you want and more. Oh, don't forget, compile your plugin with all debug symbols. Personnaly, i use "-O0 -g" option. With the debug version you can have really many information. You can use -g3 for make debug information furiously ! (Include source code in exe ^^). Source Mod compiled with -g -> server_i486.so == 100MB ^^ Source Mod compiled with -g3 -> server_i486.so == 173MB ^^ Best regards from France :) Bombela. Ratman2000 a écrit : Hello, i now have changed the line to: ARCH_CFLAGS=-mtune=i686 -march=pentium3 -mmmx -msse -O3 But it dont helps! The Server crashes again! The funktions are ok becouse they work fine on 50 Servers now... I hope anybody can help me!!! With friendly reguards Michael - Original Message - From: "Ondřej Hošek" <[EMAIL PROTECTED]> To: Sent: Wednesday, June 13, 2007 8:58 PM Subject: Re: [hlcoders] Strange Linux Compile Problem -m3dnow sounds like the culprit. If you want Intel processor support whilst running, don't do 3DNow! or you'll get a SIGILL (illegal instruction). However, I'm positive both processor brands can do SSE, SSE2 and SSE3, so you're well off using that. (Don't overdo it; only Pentium 3 and above as well as Athlon XP and above can do SSE and SSE2 is exclusive to Pentium 4 and Athlon 64. However, Valve already does force us to have SSE (and my Pentium 2 cries), so doing an -msse is not gonna cause more problems.) So yeah, get rid of -m3dnow and put -msse instead. Hope this fixes, ~~ Ondra On 13.06.07 20:24 Uhr, Ratman2000 wrote: Hello, i have Compiled my CS:S Plugin on a Linux Pentium 3 Box and runs the plugin on many maschines... All runs fine... But now we have a beta tester, there runs the plugin on a pentium 4 box and we have strange problems... All funktions like slap, kill, bank and other funktions crashing the server... Is there any idea, what i doing wrong? I compile the plugin with the following make file header: # Path to the HL2SDK src directory SOURCE_DIR=../HL2SDK # the directory the base binaries (tier0_i486.so, etc) are located #GAME_DIR=../../ GAME_DIR=../hlds_l/bin MYSQL_DIR=/usr/include/mysql # compiler options (gcc 3.4.1 or above is required) CC=/usr/bin/gcc CPLUS=/usr/bin/g++ CLINK=/usr/bin/gcc CPP_LIB=/usr/lib/gcc/i386-redhat-linux/3.4.2/libstdc++.a /usr/lib/gcc/i386-redhat-linux/3.4.2/libgcc_eh.a # the CPU target for the build, must be i486 for now ARCH=i486 ARCH_CFLAGS=-mtune=i686 -march=pentium4 -mmmx -m3dnow -O3 # ARCH_CFLAGS=-mtune=i486 -march=pentium3 -mmmx -m3dnow -O3 # -fpermissive is so gcc 3.4.x doesn't complain about some template stuff BASE_CFLAGS=-fpermissive -D_LINUX -DNDEBUG -Dstricmp=strcasecmp -D_stricmp=s trcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp -D_snprintf=snprint f -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp SHLIBEXT=so SHLIBCFLAGS=-fPIC SHLIBLDFLAGS=-shared -Wl,-Map,[EMAIL PROTECTED] -Wl # the dir we want to put binaries we build into BUILD_DIR=. # the place to put object files BUILD_OBJ_DIR=$(BUILD_DIR)/obj PUBLIC_SRC_DIR=$(SOURCE_DIR)/public TIER1_SRC_DIR=$(SOURCE_DIR)/tier1 TIER0_PUBLIC_SRC_DIR=$(SOURCE_DIR)/public/tier0 PLUGIN_OBJ_DIR=$(BUILD_OBJ_DIR)/plugin PUBLIC_OBJ_DIR=$(BUILD_OBJ_DIR)/plugin/public TIER1_OBJ_DIR=$(BUILD_OBJ_DIR)/plugin/tier1 TIER0_OBJ_DIR=$(BUILD_OBJ_DIR)/plugin/tier0 CFLAGS=$(BASE_CFLAGS) $(ARCH_CFLAGS) -Usprintf=use_Q_snprintf_instead_of_sprintf -Ustrncpy=use_Q_s trncpy_instead -UPROTECTED_THINGS_ENABLE #DEBUG = -g -ggdb #CFLAGS+= $(DEBUG) # link flags for your mod, make sure to include any special libraries here # LDFLAGS=-L/usr/lib/mysql -lmysqlclient_r -static -lm -ldl tier0_i486.so vstdlib_i486.so LDFLAGS=-lm -ldl tier0_i486.so vstdlib_i486.so -static /usr/lib/mysql/libmysqlclient.a # INCLUDEDIRS=-I$(SOURCE_DIR)/public/tier0 -I$(SOURCE_DIR)/public/tier1 -I$(SO URCE_DIR)/public/dlls -I$(SOURCE_DIR)/public/game_shared -I$(SOURCE_DIR)/pub lic -Iinclude INCLUDEDIRS=-I$(SOURCE_DIR)/public -I$(SOURCE_DIR)/public/tier0 -I$(SOURCE_D IR)/public/tier1 -I$(SOURCE_DIR)/dlls -I$(SOURCE_DIR)/game_shared -I$(SOURCE _DIR)/cl_dll -I$(SOURCE_DIR)/game_controls -Iinclude -I/usr/include/mysql -I $(MYSQL_DIR) DO_CC=$(CPLUS) $(INCLUDEDIRS) -w $(CFLAGS) -DARCH=$(ARCH) -o $@ -c $< So
[hlcoders] One $ question : do know this error ?
(Sorry for my bad english) Hello, I have strange error appear after long time running the source GNU/Linux server of Perfert Dark:Source. utlrbtree.h (740) : Assertion Failed: IsValid() pipes.cpp (565) : Assertion Failed: Stalled cross-thread pipe pipes.cpp (565) : Fatal assert failed: ../clientdll/pipes.cpp, line 565. Application exiting. Running on : GNU/Linux 2.6.20-15 SMP x86_64 Core2Quad, 4Gb RAM The "utlrbtree.h (740) : Assertion Failed: IsValid()" is not in our code. It's generated by Valve binaries. The pipes.cpp is too in the Valve binaries. I suppose an error in our code/files generate this error ! Do you have an idea ? Thanks you. Bombela, Perfect Dark:Source ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] Compiling linux server code (Battlegrounds 2)
For PefectDark Source, i use gcc 3.4.6, and i have no major problem. But with gcc 4.x, it's impossible to compile because the compiler is more strict. Massive correction needed for upgrade valve code sdk... (I you can read my poor english, you are friend of god) @+ Alfred Reynolds a écrit : We are using GCC 3.3 and have no upgrade plans at the moment (upgrading would break all existing mods so it would be a rare event if it ever happens). - Alfred Ondrej Hošek wrote: (Transplanted from [hlds_linux]...) Actually, GCC 3.4 and 4.x have the same ABI. The big change happened 3.3 -> 3.4. I don't know what Valve compiled their current engine versions with (please tell), but is there a plan to move to one of these versions (3.4, 4.0, 4.1)? What would the timeframe be? You may wish to read about the ABIs at http://gcc.gnu.org/onlinedocs/libstdc++/abi.html. It's the major version (first number) of libstdc++.so that matters. Since GCC 3.4 (versions of 4.2 and 4.3 are not known yet), they're at major 6. Oh... and here's a tip: DON'T add "-Wall -Werror -pedantic" to and remove "-fpermissive" from the CCFLAGS. g++ will hate you. ;-) ~~ Ondra Alfred Reynolds wrote: This question is better asked on the hlcoders list (subscribe via http://list.valvesoftware.com). The reason you need to do it is because the Source engine is compiled with GCC 3.x and GCC 4.x binaries aren't binary compatible for the C++ ABI. - Alfred Dave Dodd wrote: Hi, Can someone either point me towards discussion of why the linux_sdk need to be compiled under GCC 3.?.? I am trying to resolve a problem with my Battlegrounds 2 server and I don't want to downgrade my compiler from 4.1.1 . I was able to compile a server under 4.1.1 by simply tweaking two source files lightglow.cpp & mathlib.cpp Anyone ? -- Dave ___ 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
Re: [hlcoders] Compile Issues
LOL ! Hello ^^ More seriously : please, send your mail in text only :) Ondřej Hošek a écrit : Greetings. Gerry Brunelle wrote: -- [ Picked text/plain from multipart/alternative ] Hello, -- ___ 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] min/max errors with Linux compile [SOLUTION]
Sorry, i have forgotten to had this in my mail ! I have writed : #ifndef _WIN32 #undef min #undef max #endif Because only windows sdk don't compatible with stdc++ ^^ In a dream it's possible to compile on Solaris, GNU/Hurd system, HP-UX etc... (It's not possible because any specific asm code used into source). I don't have any other problems. Check your case filename and #include. You can process many modification of sdk source with my script. _ rename all directory and .cpp and .h to low case. _ all #include are rewrite in lowcase. _ all .vcproj modified for convert filename to lowcase. _ hl_sdk.vcproj corrected (the bad ";" converted to ",") _ Makefile.vcpm modified for use lowcase _ info_darknessmode_lightsource.cpp corrected _ add #undef... to stdstring.h This script can be run with sdk already modified (Perfect Dark Mod have used it succefully). And it can detect if action already processed. Download here : http://bombela.free.fr/data/LowCaseAndPatchSourceSDK.sh Good play ;) @+ Bombela. PS: Sorry for my bad english. Jed a écrit : Thanks, That worked for me, althoug I had to do it like this: #ifdef _LINUX #undef min #undef max #endif or my Windows build wouldn't compile. Well thats one problem solved. Now I have a big error with memoverride.cpp but I belive thats already logged in bugzilla. - Jed On 30/12/06, Bombela <[EMAIL PROTECTED]> wrote: This is a multi-part message in MIME format. -- [ Picked text/plain from multipart/alternative ] Hello, The problem is a conflit with valve definition of min/max in public/minmax.h and the definition in stdc++ (file "limits"). Tank for your tip Garry. For resolve it's simple. In file public/stdstring.h of your Source SDK, you can add : #undef min #undef max before : #include The include use and others files when use stdc++ min/max definition. The compilation with gcc 3.4.6 is now possible. $ gcc-3.4 -dumpversion 3.4.6 $ du -h server_i486.so du: cannot access `server_i486.so': No such file or directory $ time make -j5 -f Makefile [...] ccache g++-3.4 -w -I../dlls/. -I../dlls/../utils... [...] /usr/local/lib/libstdc++.so.6.0.1 /usr/local/lib/gcc/i486-linux-gnu/3.4.1/libgcc_eh.a make[1]: Leaving directory `/media/fast/pdark/code/src/linux_sdk' real1m23.312s user2m45.022s sys 0m27.522s $ du -h server_i486.so 14M server_i486.so Coool ;) Bombela (Pssst' : Sorry for my bad english !) Garry Newman a écrit : > -- > [ Picked text/plain from multipart/alternative ] > I came across this about a year ago too. It was a pretty common problem - > not sure why there isn't more info on it (there was back then). > > >From what I remember it's something in stdstring.h. It includes some file > that re-defines min and max in linux. The fix was to just #undef min and > #undef max and then include another file (I think). Wish I could find where > I found out how to fix it. > > garry > > On 12/23/06, Jed <[EMAIL PROTECTED]> wrote: > >> Well after solving all the other problems I've managed to get the >> current HL2MP SDK to start compiling but I've hit an error regarding >> min/max. >> >> I've searched the archives and found mention to it but no definate >> answer on how to fix it. I've looked at the KI list for Linux on the >> SDK but it's really confusing as to what issues are from the old SDK, >> which are just with the new or what remain from both. >> >> So, in short - I'm compiling the current 31st Oct 2006 HL2MP codebase >> with GCC 3.4.6. >> >> Everything is set-up and running as far as a build environment is >> concerned and the compile begins before stopping with this: >> >> /usr/bin/g++34 -w -I../dlls/../game_shared/hl2 -I../dlls/. >> -I../dlls/../public -I../dlls/../public/tier1 -I../dlls/../game_shared >> -I../dlls/../utils/common -I../dlls/../dlls -I../dlls/../../dlls >> -I../dlls/../dlls/hl2_dll -I../dlls/../dlls/hl2mp_dll >> -I../dlls/../game_shared/hl2mp -I../dlls/./episodic -DHL2_EPISODIC >> -DHL2MP -DHL2_DLL -DUSES_SAVERESTORE -DNDEBUG -DGAME_DLL >> -Dsprintf=use_Q_snprintf_instead_of_sprintf -DVECTOR >> -Dstrncpy=use_Q_strncpy_instead -D_snprintf=use_Q_snprintf_instead >> -DPROTECTED_THINGS_ENABLE -mtune=i686 -march=pentium3 -mmmx -O3 >> -fpermissive -D_LINUX -DNDEBUG -Dstricmp=strcasecmp >> -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp >> -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca >> -Dstrcmpi=strcasecmp -Usprintf=use_Q_snprintf_instead_of_sprintf >> -Ustrncpy=use_Q_strncpy_instead -UPROTECTED_THINGS_ENABLE -o >> obj/server_i486/dlls/npc_talker.o -c ../dlls/npc_talker.cpp >> In file included from >> /usr/lib/gcc/i
Re: [hlcoders] min/max errors with Linux compile [SOLUTION]
This is a multi-part message in MIME format. -- [ Picked text/plain from multipart/alternative ] Hello, The problem is a conflit with valve definition of min/max in public/minmax.h and the definition in stdc++ (file "limits"). Tank for your tip Garry. For resolve it's simple. In file public/stdstring.h of your Source SDK, you can add : #undef min #undef max before : #include The include use and others files when use stdc++ min/max definition. The compilation with gcc 3.4.6 is now possible. $ gcc-3.4 -dumpversion 3.4.6 $ du -h server_i486.so du: cannot access `server_i486.so': No such file or directory $ time make -j5 -f Makefile [...] ccache g++-3.4 -w -I../dlls/. -I../dlls/../utils... [...] /usr/local/lib/libstdc++.so.6.0.1 /usr/local/lib/gcc/i486-linux-gnu/3.4.1/libgcc_eh.a make[1]: Leaving directory `/media/fast/pdark/code/src/linux_sdk' real1m23.312s user2m45.022s sys 0m27.522s $ du -h server_i486.so 14M server_i486.so Coool ;) Bombela (Pssst' : Sorry for my bad english !) Garry Newman a écrit : > -- > [ Picked text/plain from multipart/alternative ] > I came across this about a year ago too. It was a pretty common problem - > not sure why there isn't more info on it (there was back then). > > >From what I remember it's something in stdstring.h. It includes some file > that re-defines min and max in linux. The fix was to just #undef min and > #undef max and then include another file (I think). Wish I could find where > I found out how to fix it. > > garry > > On 12/23/06, Jed <[EMAIL PROTECTED]> wrote: > >> Well after solving all the other problems I've managed to get the >> current HL2MP SDK to start compiling but I've hit an error regarding >> min/max. >> >> I've searched the archives and found mention to it but no definate >> answer on how to fix it. I've looked at the KI list for Linux on the >> SDK but it's really confusing as to what issues are from the old SDK, >> which are just with the new or what remain from both. >> >> So, in short - I'm compiling the current 31st Oct 2006 HL2MP codebase >> with GCC 3.4.6. >> >> Everything is set-up and running as far as a build environment is >> concerned and the compile begins before stopping with this: >> >> /usr/bin/g++34 -w -I../dlls/../game_shared/hl2 -I../dlls/. >> -I../dlls/../public -I../dlls/../public/tier1 -I../dlls/../game_shared >> -I../dlls/../utils/common -I../dlls/../dlls -I../dlls/../../dlls >> -I../dlls/../dlls/hl2_dll -I../dlls/../dlls/hl2mp_dll >> -I../dlls/../game_shared/hl2mp -I../dlls/./episodic -DHL2_EPISODIC >> -DHL2MP -DHL2_DLL -DUSES_SAVERESTORE -DNDEBUG -DGAME_DLL >> -Dsprintf=use_Q_snprintf_instead_of_sprintf -DVECTOR >> -Dstrncpy=use_Q_strncpy_instead -D_snprintf=use_Q_snprintf_instead >> -DPROTECTED_THINGS_ENABLE -mtune=i686 -march=pentium3 -mmmx -O3 >> -fpermissive -D_LINUX -DNDEBUG -Dstricmp=strcasecmp >> -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp >> -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca >> -Dstrcmpi=strcasecmp -Usprintf=use_Q_snprintf_instead_of_sprintf >> -Ustrncpy=use_Q_strncpy_instead -UPROTECTED_THINGS_ENABLE -o >> obj/server_i486/dlls/npc_talker.o -c ../dlls/npc_talker.cpp >> In file included from >> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory:61, >> >> from >> >> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/string:48, >> from ../dlls/../public/stdstring.h:26, >> from ../dlls/ai_playerally.h:18, >> from ../dlls/npc_talker.h:42, >> from ../dlls/npc_talker.cpp:10: >> >> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:292:22: >> macro "max" requires 2 arguments, but only 1 given >> In file included from >> >> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory:61, >> from >> >> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/string:48, >> from ../dlls/../public/stdstring.h:26, >> from ../dlls/ai_playerally.h:18, >> from ../dlls/npc_talker.h:42, >> from ../dlls/npc_talker.cpp:10: >> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:292: >> >> error: expected `;' before "throw" >> >> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:295: >> error: expected `;' before "static" >> /usr/lib/gcc/i386-redh
Re: [hlcoders] linux binary compiling issues, missing reference
Quoting Stefan Bermig <[EMAIL PROTECTED]>: got a nice hint -msse fixed that error :) so now i have to fix another minor one to get it running, thanks for you help guys. stefan Ohh yes ! /usr/lib/gcc/i586-suse-linux/4.1.0/include/xmmintrin.h:35:3: error: #error "SSE instruction set not enabled" -msse This is a good resolution ;) Sorry for my fast last response ! Bombela. (Then bad english speaker...) ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] linux binary compiling issues, missing reference
Quoting Stefan <[EMAIL PROTECTED]>: hi i am trying to compile a new binary for the linux build of our mod but stumble over an error while compiling which i cannot seem to get rid of. the two boxes i use are both running suse linux (10.1 and 9.3) with gcc 3.4.4 and 4, i tried both on both boxes but couldnt get rid of the error. seeing i couldnt get the new sdk code, merged with our own code, to work, i tried the latest vanilla sdk code, which you get when creating a source code only mod. yet this gave me the exact same error. /usr/bin/gcc -o ./vcpm ./obj/vcpm/makefilecreator.o ./obj/vcpm/vprojtomake.o ./obj/vcpm/vcprojconvert.o ./obj/vcpm/public/characterset.o ./obj/vcpm/public/interface.o ./obj/vcpm/public/KeyValues.o ./obj/vcpm/public/utlbuffer.o ./obj/vcpm/public/utlsymbol.o /usr/lib/gcc/i386-redhat-linux/3.4.3/libstdc++.a /usr/lib/gcc/i386-redhat-linux/3.4.3/libgcc_eh.a -lm -ldl -L/home/stefan/xerces/lib -lxerces-c ./bin/tier0_i486.so ./bin/vstdlib_i486.so ./obj/vcpm/public/utlsymbol.o(.text+0xad): In function `CUtlFilenameSymbolTable::FindOrAddFileName(char const*)': utlsymbol.cpp: undefined reference to `g_CountedStringPool' ./obj/vcpm/public/utlsymbol.o(.text+0xb2):utlsymbol.cpp: undefined reference to `CCountedStringPool::ReferenceStringHandle(char const*)' ./obj/vcpm/public/utlsymbol.o(.text+0xc4):utlsymbol.cpp: undefined reference to `g_CountedStringPool' ./obj/vcpm/public/utlsymbol.o(.text+0xc9):utlsymbol.cpp: undefined reference to `CCountedStringPool::ReferenceStringHandle(char const*)' ./obj/vcpm/public/utlsymbol.o(.text+0x18d): In function `CUtlFilenameSymbolTable::FindFileName(char const*)': utlsymbol.cpp: undefined reference to `g_CountedStringPool' ./obj/vcpm/public/utlsymbol.o(.text+0x192):utlsymbol.cpp: undefined reference to `CCountedStringPool::FindStringHandle(char const*)' ./obj/vcpm/public/utlsymbol.o(.text+0x1a4):utlsymbol.cpp: undefined reference to `g_CountedStringPool' ./obj/vcpm/public/utlsymbol.o(.text+0x1a9):utlsymbol.cpp: undefined reference to `CCountedStringPool::FindStringHandle(char const*)' ./obj/vcpm/public/utlsymbol.o(.text+0x207): In function `CUtlFilenameSymbolTable::String(void* const&, char*, int)': utlsymbol.cpp: undefined reference to `g_CountedStringPool' ./obj/vcpm/public/utlsymbol.o(.text+0x210):utlsymbol.cpp: undefined reference to `CCountedStringPool::HandleToString(unsigned short)' ./obj/vcpm/public/utlsymbol.o(.text+0x231):utlsymbol.cpp: undefined reference to `g_CountedStringPool' ./obj/vcpm/public/utlsymbol.o(.text+0x23a):utlsymbol.cpp: undefined reference to `CCountedStringPool::HandleToString(unsigned short)' collect2: ld returned 1 exit status make[1]: *** [vcpm] Error 1 make[1]: Leaving directory `/home/stefan/srcds/src/linux_sdk' make: *** [vcpm] Error 2 i checked the code and found an extern g_CountedStringPool declaration, but this one is not being defined anywhere in the sdk, yet it's being used. any idea what that could be? thx in advance Stefan Bermig You must only compile with GCC 3.4.1 and GCC Library 3.4.1 ! You may be compile GCC 3.4.1 from source. It's simple. I can help you if you want. Bombela. (French) ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders