【发布时间】:2012-02-03 14:28:05
【问题描述】:
我目前正在尝试在新更新的 ubuntu 11.10 上构建 gcc 4.4。但是,在尝试引导时,构建编译器总是会失败并出现一些问题。
找不到第一个 crti.o 和 crtn.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 构建和源代码构建,但两者都有相同的问题。我仍然在/opt 中保留更新前的 gcc44,但自更新后它已无法使用。
有什么简单的方法可以让 gcc 4.4 在 Ubuntu 11.10 下运行?我不必是自建编译器,如果我可以下载一个包并安装它,那也很好。
【问题讨论】:
-
检查您的 configure.log - 它可能会给您更多的诊断信息...
-
我确实看过那里...但是感谢您的信息,我再次仔细查看了正确的 config.log,发现另一个
crt?.o文件在更新期间似乎没有正确链接.现在它似乎起作用了(至少乍一看)。 -
另一个猜测:你可能缺少 libc6-dev(安装为
#apt-get install libc6-dev) -
另一件让我觉得非常奇怪的事情是,根据 config.log,系统无法正确识别并设置为
x86_64-unknown-linux-gnu。 gcc 4.5 也是为Ubuntu/Linaro构建的。 11.10 不应该是Ubuntu/Oneiric吗?不知何故,我认为更新期间发生了一些非常糟糕的事情。 -
是的,有传言说不希望将 Ubuntu 更新到非 LTS 版本。
标签: gcc cross-compiling