我试图恢复具有内核2.6.32的旧版Gentoo Linux,我可以更新@system,但有一个例外:gcc 4.5.4安装失败。 最后几行在这里:
问我是否需要更多信息,我回家后会发布更多信息(通过SSH获取该信息)。 即使GHC编译失败,但我稍后会处理。我需要GCC才能编译其他包。 提前致谢
答案 0 :(得分:3)
通过Google搜索来回复与其他链接的链接: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 )
之类的技巧('#'表示根shell提示符,因此请勿实际输入)。论坛帖子还建议删除-pipe
,这会导致gcc使用更多内存而不是写出大量临时文件,来自CFLAGS
和CXXFLAGS
(通过编辑/etc/make.conf
或/etc/portage/make.conf
,无论哪个存在)。我们无法告诉您CFLAGS
来自您发布的内容。