对复杂软件构建进行故障排除有哪些提示?

时间:2010-04-17 03:50:00

标签: unix compiler-construction build-process

有时我想从头开始构建Python或GCC只是为了好玩,但我无法解析我得到的错误,或者不理解“libtool link error#XYZ”之类的语句。 unix /系统专家用什么技巧从头开始编译这种大小的软件?

当然我已经做过read config.log(如果有的话),谷歌周围和新闻组发布。我正在寻找那些

的东西
  • 使流程更顺畅或
  • 向我提供有关错误的更多信息,以帮助我理解和修复错误。

有时候获取这些信息有点困难,因为一些编译错误可能非常模糊。那时我能做些什么?

2 个答案:

答案 0 :(得分:2)

我的5美分:

  1. 让事情尽可能顺利的唯一方法是阅读INSTALL / README /其他说明所说的内容,并尽可能地遵循它们。首先尝试默认选项。没有其他银子弹,真的。
  2. 如果事情不顺利,请直接将最后一条错误消息复制粘贴到Google中。很有可能你不是第一个得到它的人,你很容易找到修复。
  3. 如果 是第一个获得它的人,请重新阅读INSTALL / README,并考虑一下特定系统配置的特性。如果您不知道,请准备更长时间的战斗。只要有可能,我就会避免处理让我达到这一点的软件。
  4. 上述规则的一个例外是链接器错误。这些通常很容易理解,并且通常意味着您的系统库与软件所期望的系统库不匹配。重新阅读文档,获取正确的库,重新编译。但是在某些发行版上,这可能会带来很多痛苦。
  5. 我个人的经验表明,每当我收到一个我无法轻易解决的编译错误时,进入代码并查看导致错误的特定行有助于实现其他目的。
  6. 对不起,如果那是显而易见的事情。

答案 1 :(得分:1)

  • 了解一般/特定构建过程中的步骤(功能检查,依赖性检查,派生源生成,编译,链接,安装等)。
  • 了解上面使用的工具(automake可能是一个例外:)
  • 检查先决条件(操作系统和库版本,其他软件包等)
  • 拥有干净的构建环境 - 在同一系统上安装具有所有可能功能的所有功能肯定会让您迟早陷入依赖冲突。

希望这有帮助。