我最近join了我的大学的一个研究项目。 自然,这个代码是2年前写的,自从Fedora 8以后,最初编写代码的博士生还没有升级他们的机器。
这意味着他们正在使用的库以及他们编写的代码都与最新版本的gcc相冲突。 花了几个小时试图debugging不兼容的代码之后,我们得出结论认为放弃并且在项目上完成实际的工作而不是更新代码是更值得的。
所以:我试图build立一个testing系统,使用旧版本的许多软件包,我试图找出如何做到这一点。
我的问题是双重的:
代码在Fedora 8中运行。一些Googlesearch向我展示了一些我能find的镜像。 但是在我安装之前 – 我可以安装吗? 安装完成后,我会想要安装gcc和其他库 – 但只有Fedora 8的“最新”版本。在我的情况下,这意味着gcc 4.3.1。
目前我有一个Fedora 12安装。 我的首选是获得海湾合作委员会4.3.1工作,而不是使用Fedora 8.什么是最好的方式,我有相当于yum -y install make gcc gcc-c++ kernel-devel “好像我使用的是Fedora 8个知识库“?
理想情况下,我不必下载gcc /库/头源代码,并从头开始构build。
如何在“新发行版”上获得“旧版软件”?
一些编译器和标准库的旧版本在Fedora中以compat的forms出现,例如compat-gcc-34和compat-gcc-296 。 但是,像其他人所回答的那样,您可能会有更轻松的时间来构buildF8虚拟机或设置双启动。 旧版本的Fedora plus(旧)更新可以从档案中下载 。
我会创build一个虚拟机,然后安装旧版本的Fedora。 把这样的软件包混合起来(甚至假设你可以直接把它们安装进去)只是要求麻烦。
老实说,这个“使用旧的编译器”的游戏只会随着时间的推移而变得更加困难,所以build议你最好带上代码。 鉴于我的gradle生学号的经验,你可能会更好地重写垃圾,但。
像yum这样的软件包,这将是一个困难的游戏,正如womble所说的,最好的办法就是获得一个旧的redhat / fedora系统的虚拟机镜像,或者让你的系统双启动,然后在一个单独的分区上安装旧的操作系统。 现在,如果你真的想尝试书呆子的方式,并且必须在你的defora 12上安装较老的gcc,我会build议:1.创build一个空目录,说new_directory 2.通过tarballs试试installng gcc,然后运行configuration脚本,添加–prefix标志将其安装在上面创build的目录中。 来自互联网当然,从那里开始,你需要满足大量依赖,达到libc级别,所有这些都必须通过tarball安装在前缀位置。 ,你的$ LD_LIBRARY_PATH指向new_directory / lib,你的$ PATH从new_directory / bin中拿出二进制文件,希望有足够的运气,你应该能够实现你想要的。