Skip to the content.

C.Dependencies


LFS 中构建的每个软件包都依赖于一个或多个其他软件包,才能正确地构建和安装。某些软件包甚至存在循环依赖,即第一个软件包依赖于第二个软件包,而第二个软件包反过来又依赖第一个。由于这些依赖关系的存在,在 LFS 中构建软件包的顺序非常关键。本页面的目的就是记录 LFS 中每个软件包构建时的依赖关系。

对于我们构建的每个软件包,我们都列出了三到五种依赖关系。第一种列出了编译和安装该软件包需要的其他软件包。第二种列出了在运行该软件包提供的程序或库时必要的软件包。第三种列出了不属于第一种情况,但在运行该软件包测试套件时需要的软件包。第四种列出了在构建和安装前,需要该软件包已经构建并安装到最终位置的其他软件包。多数情况下,这是因为它们会在脚本中硬编码指向二进制程序的路径。如果不按照特定顺序构建,则最终的系统中某个脚本可能包含路径 /tools/bin/[二进制程序],这显然是我们不希望的。

最后一种依赖关系是 LFS 中没有提到的可选软件包,但它们对用户可能很有用。这些软件包本身可能还有必要或可选的依赖关系。对于这些依赖关系,推荐的方法是在完成 LFS 手册后,安装可选依赖项,再重新构建相关的 LFS 软件包。BLFS 提到了几个软件包的重新安装方法。

Acl

Attr

Autoconf

Automake

Bash

Bc

Binutils

Bison

Bzip2

Check

Coreutils

DejaGNU

Diffutils

E2fsprogs

Eudev

Expat

Expect

File

Findutils

Flex

Gawk

GCC

GDBM

Gettext

Glibc

GMP

Gperf

Grep

Groff

GRUB

Gzip

Iana-Etc

Inetutils

Intltool

IProute2

Kbd

Kmod

Less

Libcap

Libelf

Libffi

Libpipeline

Libtool

Linux

Linux API 头文件

M4

Make

Man-DB

Man-Pages

Meson

MPC

MPFR

Ncurses

Ninja

OpenSSL

Patch

Perl

Pkg-config

Procps-ng

Psmisc

Python

Readline

Sed

Shadow

Sysklogd

Sysvinit

Tar

Tcl

Texinfo

Util-linux

Vim

wheel

XML::Parser

Xz

Zlib

Zstd