Jesse Marlin
Here are some errors from a build I just attempted with gcc-3.1.1. Notice the mixed in gcc-3.3 headers there.
How did you install the compilers? You can't just copy them over from an older distribution! The way they are configured, they can't be installed in parallel. When compiling gcc, certain paths get hard coded into the compiler driver and language frontends. The only clean way would be to rebuild one of the gcc packages with changed installation paths. The best way is to install the 'secondary' compiler to somewhere in /opt. The easiest way for you would be to send me the respective gcc.spec and I'll change it for you.
From my understanding gcc is supposed to know where to look for its headers.
Not if you mix them up like it seems you did.
Keep in mind that this compiles fine on every machine we have here except this one with SuSE 8.2 on it.
One of the things that changed in glibc 3.1.2 is that headers pull in exactly what they need and nothing more, whereas in the past some headers got pulled in implicitly. So the programmer is *required* to explicitly include all necessary headers. If the man page for a certain library function says that sys/types.h and sys/stat.h are needed, you really have to include both.
The errors make no sense at all.
Compile the file with -save-temps and remove all lines starting with #line from the resulting .i file. Now feed that edited .i file to the compiler. If you now look at the places the error messages point to, I'm rather sure you'll see what's wrong. See where that what's missing is defined and include that header.
I've only included a small portion here, this goes on for about a mile :)
I'd really advise to delete all traces of *both* compilers, reinstall the gcc-3.3 from 8.2 and use that as the basis for finding the necessary headers. Believe me, this is *no* error in the compiler but rather a more standards conforming glibc that leads to failures in code that doesn'T adhere to the rules. Once again, if this is code you can freely pass on, point me to a tarball and I'll see what I can do (but not today :). Philipp -- Philipp Thomas work: pthomas@suse.de Development, SuSE Linux AG private: philipp.thomas@t-link.de