更多分享内容可访问我的个人博客
本文介绍软件编译错误的常用解决方案。仅限于 gentoo 系统提供的操作,不涉及源代码层面的 bug 修复等内容。
找出错误
无论发生什么错误,知道是什么错误都是第一步。
gentoo 的 emerge 指令会在编译过程中输出 log,且在编译失败后打印错误信息以及日志文件地址等内容。及时查看并找到错误点是解决问题的第一步,也是最重要的一步。
分析错误
这里指的编译错误分为三类:编译前错误、编译期错误、安装期错误。
编译前错误五花八门,但解决难度一般较低,除非是严重的依赖问题。这类问题中大部分已经在Gentoo Package Management一文中提及。这里不赘述。
编译期错误一般不会显示在最后的报错信息中,需要自行到 log 中查找。这类错误一般看起来像是源代码本身的 bug,但实际上绝大多数不过是编译选项、软件选项、编译器选择的问题。这类问题将在下文中作详细讨论。
安装期错误是最让人摸不着头脑的。这类错误也并无统一的解决方案。通常遇到这种错误时,第一