LFS 中构建的每个软件包都依赖于一个或多个其他软件包, 才能正确地构建和安装。某些软件包甚至存在循环依赖, 即第一个软件包依赖于第二个软件包,而第二个软件包反过来又依赖第一个。 由于这些依赖关系的存在,在 LFS 中构建软件包的顺序非常关键。 本页面的目的就是记录 LFS 中每个软件包构建时的依赖关系。
对于我们构建的每个软件包,我们都列出了三种甚至四种依赖关系。 第一种列出了编译和安装该软件包需要的其他软件包。 第二种列出了不属于第一种情况, 但在运行该软件包测试套件时需要的其他软件包。 第三种列出了在构建和安装前, 需要该软件包已经构建并安装到最终位置的其他软件包。 多数情况下,这是因为它们会在脚本中硬编码指向二进制程序的路径。 如果不按照特定顺序构建,则最终的系统中某个脚本可能包含路径 /tools/bin/[二进制程序],这显然是我们不希望的。
第四种列出的依赖关系是 LFS 中没有提到的可选软件包, 但它们对用户可能很有用。这些软件包本身可能还有必要或可选的依赖关系。 对于这些依赖关系,推荐的方法是在完成 LFS 手册后, 安装可选依赖项,再重新构建相关的 LFS 软件包。 BLFS 提到了几个软件包的重新安装方法。