...hate to repeat someone else's advice, but i'm bored.
http://gcc.gnu.org/ - here's where you can download the new gcc. i haven't heard too much about the testing on the new 3.0, but 2.95.3 is very stable.
also, if you go into the /usr/src/linux-2.2.16/ directory to compile, that's usually enough to make the compiler stop complaining. the reason that this sometimes creates a problem is that there can be different kernel version sources, and the /usr/src/linux/ directory isn't specific on which version of headers, if any, that it might contain. sometimes, it's just a link to the current version, and not really a directory. just depends on the distro.