如何在 Fedora 12 上安装旧版本的 gcc?

如何在 Fedora 12 上安装旧版本的 gcc?

我最近参加了大学里的一个研究项目。代码自然是两年前写的,最初写代码的博士生从 Fedora 8 开始就没有升级过他们的机器。

这意味着他们使用的库和编写的代码与最新版本的 gcc 不兼容。在花了几个小时尝试调试不兼容的代码后,我们得出结论,放弃并完成项目的实际工作比更新代码更值得。

所以:我正在尝试建立一个使用许多软件包的旧版本的测试系统,并且我正在尝试弄清楚如何做到这一点。

我的问题有两个:

  1. 代码在 Fedora 8 中有效。通过谷歌搜索,我找到了几个可以找到它的镜像。但在安装之前,我能安装吗?安装后,我想安装 gcc 和其他库,但只能安装 Fedora 8 的“最新”版本。对我来说,这意味着 gcc 4.3.1。

  2. 目前我安装了 Fedora 12。我倾向于使用 gcc 4.3.1,而不是使用 Fedora 8。对我来说,获得相当于yum -y install make gcc gcc-c++ kernel-devel“就像我正在使用 Fedora 8 存储库一样”的最佳方法是什么?

理想情况下,我不需要下载 gcc/libraries/header 源代码并从头开始构建它。

如何在“新发行版”上获取“旧软件”?

答案1

一些编译器和标准库的旧版本在 Fedora 中以名称中带有 compat 的软件包形式提供,例如兼容-gcc-34兼容-gcc-296。不过,就像其他人回答的那样,您可能更容易构建 F8 VM 或设置双启动。旧版本的 Fedora 加上(旧)更新可以从档案中下载

答案2

我会创建一个虚拟机并在其中安装旧版本的 Fedora。像这样混合软件包(即使假设你可以强迫它们安装)只会带来麻烦。

不过,老实说,这种“使用旧编译器”的游戏只会随着时间的推移变得越来越难,所以你最好更新代码。不过,根据我处理研究生代码的经验,你最好重写那些垃圾代码。

答案3

使用像 yum 这样的软件包,这将是一场艰难的游戏,你最好的选择是,正如 womble 所说,获取旧 redhat/fedora 系统的 VM 映像,或者让你的系统双启动,在单独的分区上安装旧操作系统。现在,如果你真的想尝试书呆子的方式,必须在你的 defora 12 上安装旧版 gcc。我建议:1。创建一个空目录,比如 new_directory 2。尝试通过 tarball 安装 gcc,并在运行 configure 脚本时,添加 --prefix 标志以将其安装在你上面创建的目录中。3。当然从那时起,你需要满足大量的依赖关系,直到 libc 级别……所有这些你都必须通过 tarball 在上述位置使用 --prefix 安装。4。还要确保你的 $LD_LIBRARY_PATH 指向 new_directory/lib,你的 $PATH 从 new_directory/bin 中获取二进制文件,希望如果足够幸运,你应该能够实现你想要的。

相关内容