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