我正在尝试重新安装具有内核 2.6.32 的 Gentoo Linux 的旧安装,并且我可以更新@system,但有一个异常(exception):gcc 4.5.4 安装失败。 最后几行在这里:
问我是否需要更多信息,我会在回家后发布更多信息(通过 SSH 获取该信息)。 即使 GHC 编译失败,但我稍后会处理。我需要 GCC 来编译其他包。 提前致谢
最佳答案
用谷歌搜索中的另一个链接响应一个链接:https://forums.gentoo.org/viewtopic-t-896518-start-0.html .让我总结一下这个话题:
{standard input}: Assembler messages:
{standard input}:87553: Warning: end of file not at end of a line; newline inserted
{standard input}:88534: Error: unknown pseudo-op: `.l38'
{standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive
xgcc: Internal error: Killed (program cc1)
基本上,汇编错误的出现是因为 gcc 的汇编输出在被杀死时被中断了。 Gentoo 论坛线程表明这可能是因为 gcc 使用了太多内存。您可以通过在 dmesg
输出的末尾检查 OOM 内容来确认这一点。如果内存不是问题,那么您可能有一个真正的错误,应该按照您粘贴的文本中的说明将错误报告给 https://bugs.gentoo.org/。 .但是,请先尝试查看是否是内存问题。
如果内存有问题,请确保您的机器上有交换分区并且它们已启用。您可以通过运行 swapon -s
查看启用的交换分区的摘要。如果什么都没有出现并且你不能重新分区,你总是可以使用像 # ( umask 0077 && dd if=/dev/zero of=/.swap.img bs=1M count=1024 && mkswap/.swap. img && swapon/.swap.img )
('#' 表示 root shell 提示符,因此实际上不要键入它)。论坛线程还建议从 CFLAGS
和 CXXFLAGS
中删除 -pipe
,这会导致 gcc 使用更多内存而不是写出大量临时文件> (通过编辑 /etc/make.conf
或 /etc/portage/make.conf
,以存在者为准)。我们无法从您发布的内容中判断出您的 CFLAGS
是什么。
关于c - Gentoo GCC 出现失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25575756/