First of all, I recommend using gcc-4.0 if you have it...
GCC 4.1, on my Debian machine compiles, but takes 5 extra minutes to link *each* binary, with the bottleneck being the CPU rather than hard drive (also taking up hundreds of MB of RAM) -- i.e. terrible performance!
g++ (GCC) 4.1.2 20061028 (prerelease) (Debian 4.1.1-19)
Yours is also 4.1.1 version, but it may be broken, so Red Hat hopefully will update GCC some day.
In Debian, if another GCC version is installed, say 4.0, you execute it by using
g++-4.0 for example. This may be true for Red Hat if they want to provide backwards compatibility. I recommend you check /usr/bin/g++* and see what g++ binaries you have.
If an older version exists, I recommend you ./configure Vega Strike using the CXX environment variable (not sure if CC is required, but set it to the corresponding gcc binary):
Code: Select all
CC=gcc-4.0 CXX=g++-4.0 ./configure [Any configure options]
Then, try recompiling.
In the latest subversion, I don't see any specific reason for it to cause problems...it used to use some nonstandard hash_map object, but now it just uses a standard class.
Luckily, there happens to be multiple implementations of the collide map.
If you open up src/cmd/collide_map.h uncomment the first #define, and see if that changes the error (this will enable one collide map class).
If that fails to work, modify the first #define and change VS_ENABLE_COLLIDE_KEY to VS_ENABLE_COLLIDE_LIST and see if that changes the error. This will use a simpler but slower list-based implementation.
Good luck