[hlcoders] Round 2: srcds on newer linuxes

2006-06-11 Thread bloodykenny
I've updated the KI list with the code issues that prevent compiling on gcc 4:

http://developer.valvesoftware.com/wiki/SDK_Known_Issues_List#Mod_fails_to_compile_with_gcc_4.x

Unfortunately there are now run-time issues.  The first big issue is that every 
time you respawn, your vision is stuck very close to the ground.  This seems to 
be very similar to the long-standing #15 Deeper Underground HL2DM bug as 
listed on the 
http://forums.steampowered.com/forums/showthread.php?s=threadid=248425 HL2DM 
bug list page, however it occurs every time.  Crouching and uncrouching fixes 
the issue.

Has anyone else seen this?  I may try reverting to gcc3.x...

___
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders



RE: [hlcoders] Round 2: srcds on newer linuxes

2006-06-11 Thread bloodykenny
I've updated http://developer.valvesoftware.com/wiki/Compiling_under_Linux to 
mention that gcc 4.x will not work.

However this behavior is surprising as I've extensively used cross-gcc version 
libraries before, due to the need to interface with third party products on old 
OSes.  Generally you should be able to load a library with a new gcc as long as 
both libraries link to the correct runtimes dynamically.  For instance 
http://gcc.gnu.org/onlinedocs/libstdc++/abi.html#ABI_multi_testing contains an 
example of essentially the exact scenario that I attempted, and it should work.

My current suspicion is that gcc 4 is generating code that is invalid, possibly 
due to a gcc bug, or possibly due to the code containing undefined behavior, 
which gcc 4 interprets differently than gcc 3 did.  Unfortunately due to the 
necessity low warning levels it's hard to say which it might be.

In any case I've reverted to gcc 3.4.4 and both issues have gone away.

At 2006/06/11 06:17 PM, Alfred Reynolds wrote:
The C++ ABI implemented in GCC 4.x differs significantly from 3.x, I am
amazed the binary even loads. You will need to use the 3.x series of GCC
to compile your mod.

- Alfred

[EMAIL PROTECTED] wrote:
 I've updated the KI list with the code issues that prevent compiling
 on gcc 4:


http://developer.valvesoftware.com/wiki/SDK_Known_Issues_List#Mod_fails_
to_compile_with_gcc_4.x

 Unfortunately there are now run-time issues.  The first big issue is
 that every time you respawn, your vision is stuck very close to the
 ground.  This seems to be very similar to the long-standing #15
 Deeper Underground HL2DM bug as listed on the

http://forums.steampowered.com/forums/showthread.php?s=threadid=248425
 HL2DM bug list page, however it occurs every time.  Crouching and
 uncrouching fixes the issue.

 Has anyone else seen this?  I may try reverting to gcc3.x...

 ___
 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] Round 2: srcds on newer linuxes

2006-06-11 Thread Alfred Reynolds
Libraries under Linux make use of C bindings, their binary format is
static and well defined. The Source engine makes use of C++ entities
between its shared libraries (in particular pure virtual interfaces),
the C++ ABI is NOT stable between GCC major versions. A quick google of
this will give you plenty of details.

- Alfred

[EMAIL PROTECTED] wrote:
 I've updated
 http://developer.valvesoftware.com/wiki/Compiling_under_Linux to
 mention that gcc 4.x will not work.

 However this behavior is surprising as I've extensively used
 cross-gcc version libraries before, due to the need to interface with
 third party products on old OSes.  Generally you should be able to
 load a library with a new gcc as long as both libraries link to the
 correct runtimes dynamically.  For instance
 http://gcc.gnu.org/onlinedocs/libstdc++/abi.html#ABI_multi_testing
 contains an example of essentially the exact scenario that I
 attempted, and it should work.

 My current suspicion is that gcc 4 is generating code that is
 invalid, possibly due to a gcc bug, or possibly due to the code
 containing undefined behavior, which gcc 4 interprets differently
 than gcc 3 did.  Unfortunately due to the necessity low warning
 levels it's hard to say which it might be.

 In any case I've reverted to gcc 3.4.4 and both issues have gone away.

 At 2006/06/11 06:17 PM, Alfred Reynolds wrote:
 The C++ ABI implemented in GCC 4.x differs significantly from 3.x, I
 am
 amazed the binary even loads. You will need to use the 3.x series of
 GCC
 to compile your mod.

 - Alfred

 [EMAIL PROTECTED] wrote:
 I've updated the KI list with the code issues that prevent
 compiling on gcc 4:



http://developer.valvesoftware.com/wiki/SDK_Known_Issues_List#Mod_fails_
 to_compile_with_gcc_4.x

 Unfortunately there are now run-time issues.  The first big issue is
 that every time you respawn, your vision is stuck very close to the
 ground.  This seems to be very similar to the long-standing #15
 Deeper Underground HL2DM bug as listed on the


http://forums.steampowered.com/forums/showthread.php?s=threadid=248425
 HL2DM bug list page, however it occurs every time.  Crouching and
 uncrouching fixes the issue.

 Has anyone else seen this?  I may try reverting to gcc3.x...

 ___
 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] Round 2: srcds on newer linuxes

2006-06-11 Thread bloodykenny
Thanks for the tips!  I'd forgotten that fact about the Source SDK, although 
I'd actually discovered it once before when trying to run efence on a mod in 
order to try to debug Physical Mayhem.

Quite frankly I'm still baffled as to how it resulted in the behavior it did, 
but oh well I've got bigger fish to try. :)

I've strengthened the messaging on:
http://developer.valvesoftware.com/wiki/Compiling_under_Linux#Requirements

At 2006/06/11 08:23 PM, Alfred Reynolds wrote:
Libraries under Linux make use of C bindings, their binary format is
static and well defined. The Source engine makes use of C++ entities
between its shared libraries (in particular pure virtual interfaces),
the C++ ABI is NOT stable between GCC major versions. A quick google of
this will give you plenty of details.

- Alfred

[EMAIL PROTECTED] wrote:
 I've updated
 http://developer.valvesoftware.com/wiki/Compiling_under_Linux to
 mention that gcc 4.x will not work.

 However this behavior is surprising as I've extensively used
 cross-gcc version libraries before, due to the need to interface with
 third party products on old OSes.  Generally you should be able to
 load a library with a new gcc as long as both libraries link to the
 correct runtimes dynamically.  For instance
 http://gcc.gnu.org/onlinedocs/libstdc++/abi.html#ABI_multi_testing
 contains an example of essentially the exact scenario that I
 attempted, and it should work.

 My current suspicion is that gcc 4 is generating code that is
 invalid, possibly due to a gcc bug, or possibly due to the code
 containing undefined behavior, which gcc 4 interprets differently
 than gcc 3 did.  Unfortunately due to the necessity low warning
 levels it's hard to say which it might be.

 In any case I've reverted to gcc 3.4.4 and both issues have gone away.

 At 2006/06/11 06:17 PM, Alfred Reynolds wrote:
 The C++ ABI implemented in GCC 4.x differs significantly from 3.x, I
 am
 amazed the binary even loads. You will need to use the 3.x series of
 GCC
 to compile your mod.

 - Alfred

 [EMAIL PROTECTED] wrote:
 I've updated the KI list with the code issues that prevent
 compiling on gcc 4:



http://developer.valvesoftware.com/wiki/SDK_Known_Issues_List#Mod_fails_
 to_compile_with_gcc_4.x

 Unfortunately there are now run-time issues.  The first big issue is
 that every time you respawn, your vision is stuck very close to the
 ground.  This seems to be very similar to the long-standing #15
 Deeper Underground HL2DM bug as listed on the


http://forums.steampowered.com/forums/showthread.php?s=threadid=248425
 HL2DM bug list page, however it occurs every time.  Crouching and
 uncrouching fixes the issue.

 Has anyone else seen this?  I may try reverting to gcc3.x...

 ___
 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