2013-11-28 65 views
0

为了编译一个旧编译器,我使用安装在我的机器上的gcc(gcc版本4.4.6)。在linux-redhat上安装gcc的旧版本

gcc v 4.4.6编译器不支持旧编译器文件中的一些语法,并且发出如下错误:左值操作数需要左值,错误:尝试使用中毒...等等。

上次有人编译了那个使用gcc版本2.96的旧编译器。 所以我下载了一些旧版本的gcc(3.0 - 没有找到2.96),并尝试从它构建二进制文件。

然而 - 我的机器是64位x86和3.0编译器发出错误:

Configuration x86_64-redhat-linux-gnu not supported

自然 - 不存在x86_64的方式在那些日子。 任何建议将受到欢迎。

更新: 我已经vertualBox安装了旧版本的红帽(5.7),与旧的gcc编译器(3.4.6)来了,试图编译交叉compiler.My主机 - I386的红帽Linux的。现在,我没有得到这个消息,并且交叉编译器的编译开始,但是,当它来编译开卷-dw2.c文件给我的下一个汇编程序错误:

/tmp/ccAk3sX0.s: Assembler messages: 
/tmp/ccAk3sX0.s:259: Error: unrecognized instruction `addi r11,low(r0,.L47),r11' 
/tmp/ccAk3sX0.s:736: Error: unrecognized instruction `addi r3,low(r0,.L327),r3' 
/tmp/ccAk3sX0.s:1226: Error: unrecognized instruction `addi r3,low(r0,.L317),r3' 
/tmp/ccAk3sX0.s:1739: Error: unrecognized instruction `addi r3,low(r0,.L412),r3' 

所以我再次被困...

+1

避免这样做。或者在'chroot'-ed环境中运行一个旧的32位Linux发行版。顺便说一句,你正在编译的“旧编译器”究竟是什么?尝试构建交叉编译器的 –

+0

。编译器基于旧版本的gcc(3.0)。我认为我需要安装某种类型的库...我认为这些机器支持32位 - 但我不确定。将检查这一点,但我不认为在Linux上安装旧版本是需要的... – yehudahs

+0

任何不使用最近的GCC(例如4.8版本)交叉编译器的原因? –

回答

0

在虚拟机中安装一个非常旧的Linux发行版。

+0

以上请看我的评论巴西尔Starynkevitch – yehudahs

+1

随时浪费你的时间在不必要的东西。 –

+0

好的 - 你确定这是唯一的方法吗?如果机器支持32位,你能详细说明为什么它不起作用吗? – yehudahs

0

在你的情况下,安装旧版本比安装旧版本更容易。 但是,如果您有足够的时间可以尝试查找并安装所需的所有依赖项。顺便安装当前操作系统的稳定性。