C. 依赖关系

在LFS中安装的每一个软件包,为了正确的编译和安装,都要依赖一个或几个其他的软件包。 有些软件包甚至会循环依赖,也就是说, 第一个软件包依赖第二个, 而第二个也依赖第一个。 因为这些依赖关系,在LFS中,软件包的安装顺序非常重要。 本页的目标就是记录LFS中编译的每个软件包的依赖关系。

对于我们编译的每个软件包,我们列出了三个,有时是四个依赖类型。 第一个依赖列表列列出为了编译和安装讨论中的软件包,需要的其他可用的软件。 第二个依赖列表列列出, 为了运行测试程序, 除第一行列出的软件包以外还需要的软件包。 第三个依赖列表列列出需要该软件包编译和安装之后, 才能编译和安装的软件包,在大多数情况下, 这是由于这些软件包要硬编码它们脚本中的二进制文件的路径。 如果不按特定顺序安装, 这可能造成 /tools/bin/[binary] 目录被放在安装到最终系统的脚本内。这显然是不可取的。

最后的依赖列表列出在LFS中不涉及,但可能对用户有用的可选软件包。 这些软件包可能有自己额外的强制或可选的依赖关系。 对于这些依赖关系,推荐完成LFS教材后再安装它们,然后,回头重新编译LFS软件包。有些情况下,会在BLFS中处理重新安装的问题。

Autoconf

安装依赖于: Bash, Coreutils, Grep, M4, Make, Perl, Sed, and Texinfo
测试依赖于: Automake, Diffutils, Findutils, GCC, and Libtool
必须先于安装: Automake
可选的依赖: Emacs

Automake

安装依赖于: Autoconf, Bash, Coreutils, Gettext, Grep, M4, Make, Perl, Sed, and Texinfo
测试依赖于: Binutils, Bison, Bzip2, DejaGNU, Diffutils, Expect, Findutils, Flex, GCC, Gettext, Gzip, Libtool, and Tar.
必须先于安装: None
可选的依赖: None

Bash

安装依赖于: Bash, Binutils, Bison, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Ncurses, Patch, Readline, Sed, and Texinfo
测试依赖于: None
必须先于安装: None
可选的依赖: Xorg

Binutils

安装依赖于: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Perl, Sed, Texinfo and Zlib
测试依赖于: DejaGNU and Expect
必须先于安装: None
可选的依赖: None

Bison

安装依赖于: Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, M4, Make, and Sed
测试依赖于: Diffutils and Findutils
必须先于安装: Flex, Kbd, and Tar
可选的依赖: Doxygen (testsuite)

Bzip2

安装依赖于: Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Make, and Patch
测试依赖于: None
必须先于安装: None
可选的依赖: None

Coreutils

安装依赖于: Bash, Binutils, Coreutils, GCC, Gettext, Glibc, GMP, Grep, Make, Patch, Perl, Sed, and Texinfo
测试依赖于: Diffutils, E2fsprogs, Findutils, and Util-linux-ng
必须先于安装: Bash, Diffutils, Findutils, Man-DB, and Udev
可选的依赖: Perl Expect and IO:Tty modules (for testsuite)

DejaGNU

安装依赖于: Bash, Coreutils, Diffutils, GCC, Grep, Make, and Sed
测试依赖于: No testsuite available
必须先于安装: None
可选的依赖: None

Diffutils

安装依赖于: Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Patch, Sed, and Texinfo
测试依赖于: No testsuite available
必须先于安装: None
可选的依赖: None

Expect

安装依赖于: Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make, Patch, Sed, and Tcl
测试依赖于: None
必须先于安装: None
可选的依赖: None

E2fsprogs

安装依赖于: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Gzip, Make, Pkg-config, Sed, Texinfo, and Util-linux-ng
测试依赖于: None
必须先于安装: None
可选的依赖: None

File

安装依赖于: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Sed, and Zlib
测试依赖于: No testsuite available
必须先于安装: None
可选的依赖: None

Findutils

安装依赖于: Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, Make, Sed, and Texinfo
测试依赖于: DejaGNU, Diffutils, and Expect
必须先于安装: None
可选的依赖: None

Flex

安装依赖于: Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, M4, Make, Patch, Sed, and Texinfo
测试依赖于: Bison and Gawk
必须先于安装: IPRoute2, Kbd, and Man-DB
可选的依赖: None

Gawk

安装依赖于: Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, Make, Patch, Sed and, Texinfo
测试依赖于: Diffutils
必须先于安装: None
可选的依赖: None

Gcc

安装依赖于: Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, GCC, Gettext, Glibc, GMP, Grep, M4, Make, MPFR, Patch, Perl, Sed, Tar, and Texinfo
测试依赖于: DejaGNU and Expect
必须先于安装: None
可选的依赖: CLooG-PPL, GNAT and PPL

GDBM

安装依赖于: Bash, Binutils, Coreutils, Diffutils, GCC, Grep, Make, and Sed
测试依赖于: None
必须先于安装: None
可选的依赖: None

Gettext

安装依赖于: Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Make, Sed, and Texinfo
测试依赖于: Diffutils, Perl, and Tcl
必须先于安装: Automake
可选的依赖: None

Glibc

安装依赖于: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Gettext, Grep, Gzip, Make, Perl, Sed, and Texinfo
测试依赖于: File
必须先于安装: None
可选的依赖: None

GMP

安装依赖于: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, M4, Make, Sed and Texinfo
测试依赖于: None
必须先于安装: MPFR, GCC
可选的依赖: None

Grep

安装依赖于: Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Patch, Sed, and Texinfo
测试依赖于: Gawk
必须先于安装: Man-DB
可选的依赖: Pcre, Xorg, and CUPS

Groff

安装依赖于: Bash, Binutils, Bison, Coreutils, Gawk, GCC, Glibc, Grep, Make, Patch, Sed, and Texinfo
测试依赖于: No testsuite available
必须先于安装: Man-DB and Perl
可选的依赖: GPL Ghostscript

GRUB

安装依赖于: Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make, Ncurses, Sed, and Texinfo
测试依赖于: None
必须先于安装: None
可选的依赖: None

Gzip

安装依赖于: Bash, Binutils, Coreutils, GCC, Glibc, Grep, Make, Sed, and Texinfo
测试依赖于: Diffutils
必须先于安装: Man-DB
可选的依赖: None

Iana-Etc

安装依赖于: Coreutils, Gawk, and Make
测试依赖于: No testsuite available
必须先于安装: Perl
可选的依赖: None

Inetutils

安装依赖于: Bash, Binutils, Coreutils, GCC, Glibc, Grep, Make, Ncurses, Patch, Sed, Texinfo, and Zlib
测试依赖于: No testsuite available
必须先于安装: Tar
可选的依赖: None

IProute2

安装依赖于: Bash, Bison, Coreutils, Flex, GCC, Glibc, Make, and Linux API Headers
测试依赖于: No testsuite available
必须先于安装: None
可选的依赖: None

Kbd

安装依赖于: Bash, Binutils, Bison, Coreutils, Flex, GCC, Gettext, Glibc, Gzip, Make, Patch, and Sed
测试依赖于: No testsuite available
必须先于安装: None
可选的依赖: None

Less

安装依赖于: Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make, Ncurses, and Sed
测试依赖于: No testsuite available
必须先于安装: None
可选的依赖: Pcre

Libtool

安装依赖于: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Sed, and Texinfo
测试依赖于: Findutils
必须先于安装: None
可选的依赖: None

Linux Kernel

安装依赖于: Bash, Binutils, Coreutils, Diffutils, Findutils, GCC, Glibc, Grep, Gzip, Make, Module-Init-Tools, Ncurses, Perl, and Sed
测试依赖于: No testsuite available
必须先于安装: None
可选的依赖: None

M4

安装依赖于: Bash, Binutils, Coreutils, GCC, Glibc, Grep, Make, Sed, and Texinfo
测试依赖于: Diffutils
必须先于安装: Autoconf and Bison
可选的依赖: libsigsegv

Make

安装依赖于: Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, Make, Sed, and Texinfo
测试依赖于: Perl and Procps
必须先于安装: None
可选的依赖: None

Man-DB

安装依赖于: Bash, Binutils, Bzip2, Coreutils, Flex, GCC, GDBM, Gettext, Glibc, Grep, Groff, Gzip, Less, Make, and Sed
测试依赖于: Not run. Requires Man-DB testsuite package
必须先于安装: None
可选的依赖: None

Man-Pages

安装依赖于: Bash, Coreutils, and Make
测试依赖于: No testsuite available
必须先于安装: None
可选的依赖: None

Module-Init-Tools

安装依赖于: Bash, Binutils, Coreutils, Findutils, GCC, Glibc, Grep, Make, Patch, Sed, and Zlib
测试依赖于: Diffutils, File, Gawk, and Gzip
必须先于安装: None
可选的依赖: None

MPFR

安装依赖于: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, GMP, Make, Sed and Texinfo
测试依赖于: None
必须先于安装: GCC
可选的依赖: None

Ncurses

安装依赖于: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Patch, and Sed
测试依赖于: No testsuite available
必须先于安装: Bash, GRUB, Inetutils, Less, Procps, Psmisc, Readline, Texinfo, Util-linux-ng, and Vim
可选的依赖: None

Patch

安装依赖于: Bash, Binutils, Coreutils, GCC, Glibc, Grep, Make, and Sed
测试依赖于: No testsuite available
必须先于安装: None
可选的依赖: Ed

Perl

安装依赖于: Bash, Binutils, Coreutils, Gawk, GCC, GDBM, Glibc, Grep, Groff, Make, Sed, and Zlib
测试依赖于: Iana-Etc and Procps
必须先于安装: Autoconf
可选的依赖: None

Pkg-config

安装依赖于: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, and Sed
测试依赖于: None
必须先于安装: None
可选的依赖: None

Procps

安装依赖于: Bash, Binutils, Coreutils, GCC, Glibc, Make, and Ncurses
测试依赖于: No testsuite available
必须先于安装: None
可选的依赖: None

Psmisc

安装依赖于: Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, and Sed
测试依赖于: No testsuite available
必须先于安装: None
可选的依赖: None

Readline

安装依赖于: Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Make, Ncurses, Patch, Sed, and Texinfo
测试依赖于: No testsuite available
必须先于安装: Bash
可选的依赖: None

Sed

安装依赖于: Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, Make, Sed, and Texinfo
测试依赖于: Diffutils and Gawk
必须先于安装: E2fsprogs, File, Libtool, and Shadow
可选的依赖: Cracklib

Shadow

安装依赖于: Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, GCC, Gettext, Glibc, Grep, Make, and Sed
测试依赖于: No testsuite available
必须先于安装: None
可选的依赖: None

Sysklogd

安装依赖于: Binutils, Coreutils, GCC, Glibc, Make, and Patch
测试依赖于: No testsuite available
必须先于安装: None
可选的依赖: None

Sysvinit

安装依赖于: Binutils, Coreutils, GCC, Glibc, Make, and Sed
测试依赖于: No testsuite available
必须先于安装: None
可选的依赖: None

Tar

安装依赖于: Bash, Binutils, Bison, Coreutils, GCC, Gettext, Glibc, Grep, Inetutils, Make, Sed, and Texinfo
测试依赖于: Diffutils, Findutils, Gawk, and Gzip
必须先于安装: None
可选的依赖: None

Tcl

安装依赖于: Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make, and Sed
测试依赖于: None
必须先于安装: None
可选的依赖: None

Texinfo

安装依赖于: Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, Patch, and Sed
测试依赖于: None
必须先于安装: None
可选的依赖: None

Udev

安装依赖于: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, and Sed
测试依赖于: No testsuite available
必须先于安装: None
可选的依赖: None

Util-linux-ng

安装依赖于: Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed, and Zlib
测试依赖于: No testsuite available
必须先于安装: None
可选的依赖: None

Vim

安装依赖于: Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make, Ncurses, and Sed
测试依赖于: None
必须先于安装: None
可选的依赖: Xorg, GTK+2, LessTif, Python, Tcl, Ruby, and GPM

Zlib

安装依赖于: Bash, Binutils, Coreutils, GCC, Glibc, Make, and Sed
测试依赖于: None
必须先于安装: File, Module-Init-Tools, Perl, and Util-linux-ng
可选的依赖: None