为什么我不能构建一个较低版本的编译器

时间:2012-02-03 14:28:06

标签: gcc cross-compiling

我目前正在尝试在新更新的ubuntu 11.10上构建gcc 4.4。但是,在尝试引导时,构建编译器始终会出现一些问题。

无法找到第一个crti.ocrtn.o。我将它们符号链接到搜索路径中的另一个目录中,因此我可以获得一个引导程序编译器。但是现在它失败并显示消息:

configure: error: C compiler cannot create executables

我尝试在一个简单的测试程序上使用中间编译器,然后收到消息:

$ ./host-x86_64-unknown-linux-gnu/prev-gcc/xgcc test.c
xgcc: error trying to exec 'cc1': execvp: File or directory not found

所以看来我的中间编译器的路径严重搞砸了。当我在ubuntu 11.04上做同样的事情时,一切都运行良好。

我使用以下命令行进行配置:

./configure --prefix=/opt --program-suffix=44

我也尝试了VPATH构建,以及源代码构建,但两者都有同样的问题。我仍然在更新前的gcc44位于/opt内,但自更新以来它已无法使用。

有没有简单的方法让gcc 4.4在Ubuntu 11.10下工作?我不必是一个自构建编译器,如果我可以下载一个软件包并安装它,它也会没问题。

1 个答案:

答案 0 :(得分:2)

这是由Ubuntu切换到多拱引起的。基本上所有“标准”路径都已更改,因此您可以在同一台计算机上安装多个体系结构的库,而不会发生任何冲突。

当然,Ubuntu GCC已经修补了问题,但上次编译时,上次编译仍然没有修复。

见这里:https://askubuntu.com/questions/69365/cant-build-gcc-anymore-since-upgrade-to-11-10