Re: [hlcoders] Debug linux server crash ?

2008-07-05 Thread Bombela
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 ?

2008-07-05 Thread Bombela
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

2007-12-05 Thread Bombela

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

2007-12-05 Thread Bombela
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&#x

Re: [hlcoders] Strange Linux Compile Problem

2007-06-13 Thread Bombela

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 ?

2007-06-02 Thread Bombela

(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)

2007-03-20 Thread Bombela

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

2007-02-19 Thread Bombela

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]

2007-01-02 Thread Bombela

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]

2006-12-30 Thread Bombela
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

2006-11-07 Thread bombela

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

2006-11-06 Thread bombela

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