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"?


The old versions of some compilers and standard libraries are available in Fedora as packages with compat in the name, eg compat-gcc-34 and compat-gcc-296. Like the others have answered, however, you'll probably have an easier time either building an F8 VM or setting up a dual boot. Old versions of Fedora plus (old) updates can be downloaded from the archives.

  • Using the VM worked - thank you for the link to the "official" archives page! – rascher Nov 27 '09 at 2:55

I'd create a VM and install the old release of Fedora in that. Mixing up packages like that (even assuming you could bludgeon them into installing) is just asking for trouble.

Honestly, though, this "use old compiler" game will only get harder with time, so you'd be well advised to bring the code up to date. Given my experience with grad student code, you'd probably be better rewriting the junk, though.


with packages like yum, its going to be a difficult game, your best bet is, as womble said, get a VM image of old redhat/fedora system, or make your system dual boot, install older OS on a separate partition. Now if you really want to try the nerd's way and have to install older gcc on your defora 12.. I'll suggest: 1. make a empty directory, say new_directory 2. try installng gcc through tarballs, and while running the configure script, add the --prefix flag to install it in your above created directory. 3. Of course from there on, you'll need to satisfy tons of dependancies, upto libc level... all of them you'll have to install through tarballs in the said location with --prefix.. 4. also make sure, your $LD_LIBRARY_PATH points to the new_directory/lib, your $PATH picks up binaries from new_directory/bin hopefully with enough luck you should be able to achieve what you want.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.