I have recently joined a research project at my university. Naturally, the code was written 2 years ago, and the PhD students who originally wrote the code haven't upgraded their machines since Fedora 8.

This means that the libraries that they're using and the code they've written break with recent versions of gcc. After spending several hours trying to debug the incompatible code, we concluded that it was more worthwhile to give up and get actual work done on the project rather than updating the code.

So: I am trying to set up a test system which uses older versions of many packages, and I'm trying to figure out how to do this.

My questions are twofold:

1. The code works in Fedora 8. Some googling showed me a few mirrors where I can find that. But before I install it - well, will I be able to do an install? After installation, I will want to install gcc and other libraries - but only versions that were the "latest" as of Fedora 8. In my case, that means gcc 4.3.1.
2. Currently I have a Fedora 12 installation. My preference is to get gcc 4.3.1 working with *that*, rather than using Fedora 8. What is the best way for me to have the equivalent of `yum -y install make gcc gcc-c++ kernel-devel` "as though I was using Fedora 8 repositories"?

Ideally, I wouldn't have to download the gcc/libraries/header source code and build it all from scratch.

How do I get "old software" on a "new distro"?