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

Reply via email to