LFS 中构建或安装的每一个包或多或少都会依赖于其它的包,甚至有些包甚至是循环依赖关系:第一个包依赖于第二个包,反过来,第二个包的生成或者是安装又需要第 一个包。因为存在这些依赖关系,所以在构建 LFS 系统的时候,软件包的编译或安装的顺序是十分重要的。本章的目的就是告知用户在构建 LFS 时每一个包的依赖项。
对于所有需要编译的软件包,我们列举出三种或者四种类型的依赖。第一种类型是 “安装必选依赖”,否则在编译和安装的时候会出现问题。第二类是 “测试套件依赖”,假如运行一些测试套件,除了第一类的必须安装外,第二类也需要安装。第三类是 “必须之前安装”,此类需要在编译和安装之前就安装。在大多数情况下,是因为它们软件包中的脚本包含有到二进制文件的硬编码。如果不按照顺序编译它们,将会导致 /tools/bin/[binary] 路径变为真实路径写入脚本,然后安装到最终系统中去,这显然是不合适的。 (译者注:这句话写的不是太清楚,大概解释一下:在真实系统中,可能会在某些脚本 中出现这样的路径信息:/usr/bin/vi,但是假如因为安装顺序的问题,这个路径就有可能变成 /tools/usr/bin/vi,最终导致脚本不能正常的运行,这显然是错误的。)
最后一类提及的 “可供选择依赖”,安装方法在此文档类并没有提及,但是这些程序往往对用户来说又都是极其有用。这些软件包可能又有属于自己的 “安装必选依赖” 或者是 “可用选择依赖”。对于这些依赖关系,推荐的做法是在学习完本书之后回到重建 LFS 包。在大多数情况下,重新安装的问题都记录在 BLFS 中。
acl
安装必选依赖:
Attr, Bash, Binutils, Coreutils, GCC, Gettext, Grep, M4, Make, Perl, Sed 和 Texinfo
测试套件依赖:
Automake, Diffutils, Findutils 和 Libtool
必须之前安装:
Coreutils, Sed, Systemd, Tar, Vim
可供选择依赖:
无
attr
安装必选依赖:
Bash, Binutils, Coreutils, GCC, Gettext, Grep, M4, Make, Perl, Sed 和 Texinfo
测试套件依赖:
Automake, Diffutils, Findutils 和 Libtool
必须之前安装:
Acl, Libcap, Systemd
可供选择依赖:
无
Autoconf
安装必选依赖:
Bash, Coreutils, Grep, M4, Make, Perl, Sed 和 Texinfo
测试套件依赖:
Automake, Diffutils, Findutils, GCC 和 Libtool
必须之前安装:
Automake
可供选择依赖:
Emacs
Automake
安装必选依赖:
Autoconf, Bash, Coreutils, Gettext, Grep, M4, Make, Perl, Sed 和 Texinfo
测试套件依赖:
Binutils, Bison, Bzip2, DejaGNU, Diffutils, Expect, Findutils, Flex, GCC, Gettext, Gzip, Libtool 和 Tar.
必须之前安装:
无
可供选择依赖:
无
Bash
安装必选依赖:
Bash, Binutils, Bison, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Ncurses, Patch, Readline, Sed 和 Texinfo
测试套件依赖:
Shadow
必须之前安装:
无
可供选择依赖:
Xorg
Bc
安装必选依赖:
Bash, Binutils, Bison, Coreutils, GCC, Glibc, Grep, Make 和 Readline
测试套件依赖:
Gawk
必须之前安装:
Linux Kernel
可供选择依赖:
无
Binutils
安装必选依赖:
Bash, Binutils, Coreutils, Diffutils, File, Gawk, GCC, Glibc, Grep, Make, Perl, Sed, Texinfo 和 Zlib
测试套件依赖:
DejaGNU 和 Expect
必须之前安装:
无
可供选择依赖:
无
Bison
安装必选依赖:
Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, M4, Make, Perl 和 Sed
测试套件依赖:
Diffutils, Findutils 和 Flex
必须之前安装:
Kbd 和 Tar
可供选择依赖:
Doxygen (测试套件)
Bzip2
安装必选依赖:
Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Make 和 Patch
测试套件依赖:
无
必须之前安装:
无
可供选择依赖:
无
Check
安装必选依赖:
GCC, Grep, Make, Sed 和 Texinfo
测试套件依赖:
无
必须之前安装:
无
可供选择依赖:
无
Coreutils
安装必选依赖:
Bash, Binutils, Coreutils, GCC, Gettext, Glibc, GMP, Grep, Make, Patch, Perl, Sed 和 Texinfo
测试套件依赖:
Diffutils, E2fsprogs, Findutils, Shadow 和 Util-linux
必须之前安装:
Bash, Diffutils, Findutils, Man-DB 和 Udev
可供选择依赖:
Perl Expect 和 IO:Tty 模块 (测试套件要用)
D-Bus
安装必选依赖:
Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Sed 和 Util-linux
测试套件依赖:
无
必须之前安装:
无
可供选择依赖:
Xorg Libs
DejaGNU
安装必选依赖:
Bash, Coreutils, Diffutils, GCC, Grep, Make 和 Sed
测试套件依赖:
无
必须之前安装:
无
可供选择依赖:
无
Diffutils
安装必选依赖:
Bash, Binutils, Coreutils, Gawk, GCC, Gettext, Glibc, Grep, Make, Sed 和 Texinfo
测试套件依赖:
Diffutils, Perl
必须之前安装:
无
可供选择依赖:
无
Expat
安装必选依赖:
Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Make 和 Sed
测试套件依赖:
无
必须之前安装:
XML::Parser
可供选择依赖:
无
Expect
安装必选依赖:
Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make, Patch, Sed 和 Tcl
测试套件依赖:
无
必须之前安装:
无
可供选择依赖:
无
E2fsprogs
安装必选依赖:
Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Gzip, Make, Sed, Texinfo 和 Util-linux
测试套件依赖:
Procps-ng,Psmisc
必须之前安装:
无
可供选择依赖:
无
File
安装必选依赖:
Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Sed 和 Zlib
测试套件依赖:
无
必须之前安装:
无
可供选择依赖:
无
Findutils
安装必选依赖:
Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, Make, Sed 和 Texinfo
测试套件依赖:
DejaGNU, Diffutils 和 Expect
必须之前安装:
无
可供选择依赖:
无
Flex
安装必选依赖:
Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, M4, Make, Patch, Sed 和 Texinfo
测试套件依赖:
Bison (suppressed) 和 Gawk
必须之前安装:
IPRoute2, Kbd 和 Man-DB
可供选择依赖:
无
Gawk
安装必选依赖:
Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, Make, Patch, Sed 和 Texinfo
测试套件依赖:
Diffutils
必须之前安装:
无
可供选择依赖:
无
Gcc
安装必选依赖:
Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, GCC, Gettext, Glibc, GMP, Grep, M4, Make, MPC, MPFR, Patch, Perl, Sed, Tar 和 Texinfo
测试套件依赖:
DejaGNU 和 Expect
必须之前安装:
无
GDBM
安装必选依赖:
Bash, Binutils, Coreutils, Diffutils, GCC, Grep, Make 和 Sed
测试套件依赖:
无
必须之前安装:
无
可供选择依赖:
无
Gettext
安装必选依赖:
Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Make, Sed 和 Texinfo
测试套件依赖:
Diffutils, Perl 和 Tcl
必须之前安装:
Automake
可供选择依赖:
无
Glibc
安装必选依赖:
Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Gettext, Grep, Gzip, Linux API Headers, Make, Perl, Sed 和 Texinfo
测试套件依赖:
File
必须之前安装:
无
可供选择依赖:
无
GMP
安装必选依赖:
Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, M4, Make, Sed 和 Texinfo
测试套件依赖:
无
必须之前安装:
MPFR, GCC
可供选择依赖:
无
Gperf
安装必选依赖:
Bash, Binutils, Coreutils, GCC, Glibc, Make
测试套件依赖:
Diffutils, Expect
必须之前安装:
无
可供选择依赖:
无
Grep
安装必选依赖:
Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Patch, Sed 和 Texinfo
测试套件依赖:
Gawk
必须之前安装:
Man-DB
可供选择依赖:
Pcre, Xorg 和 CUPS
Groff
安装必选依赖:
Bash, Binutils, Bison, Coreutils, Gawk, GCC, Glibc, Grep, Make, Patch, Sed 和 Texinfo
测试套件依赖:
没有可用的测试套件
必须之前安装:
Man-DB 和 Perl
可供选择依赖:
GPL Ghostscript
GRUB
安装必选依赖:
Bash, Binutils, Bison, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed, Texinfo 和 Xz
测试套件依赖:
无
必须之前安装:
无
可供选择依赖:
无
Gzip
安装必选依赖:
Bash, Binutils, Coreutils, GCC, Glibc, Grep, Make, Sed 和 Texinfo
测试套件依赖:
Diffutils, Less
必须之前安装:
Man-DB
可供选择依赖:
无
Iana-Etc
安装必选依赖:
Coreutils, Gawk 和 Make
测试套件依赖:
没有可用的测试套件
必须之前安装:
Perl
可供选择依赖:
无
Inetutils
安装必选依赖:
Bash, Binutils, Coreutils, GCC, Glibc, Grep, Make, Ncurses, Patch, Sed, Texinfo 和 Zlib
测试套件依赖:
没有可用的测试套件
必须之前安装:
Tar
可供选择依赖:
无
Intltool
安装必选依赖:
Bash, Gawk, Glibc, Make, Perl, Sed 和 XML::Parser
测试套件依赖:
Perl
必须之前安装:
无
可供选择依赖:
无
IProute2
安装必选依赖:
Bash, Bison, Coreutils, Flex, GCC, Glibc, Make 和 Linux API Headers
测试套件依赖:
没有可用的测试套件
必须之前安装:
无
可供选择依赖:
无
Kbd
安装必选依赖:
Bash, Binutils, Bison, Check, Coreutils, Flex, GCC, Gettext, Glibc, Gzip, Make, Patch 和 Sed
测试套件依赖:
没有可用的测试套件
必须之前安装:
无
可供选择依赖:
无
Kmod
安装必选依赖:
Bash, Binutils, Bison, Coreutils, Flex, GCC, Gettext, Glibc, Gzip, Make, Sed, Xz-Utils, Zlib
测试套件依赖:
没有可用的测试套件
必须之前安装:
Udev
可供选择依赖:
无
Less
安装必选依赖:
Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make, Ncurses 和 Sed
测试套件依赖:
没有可用的测试套件
必须之前安装:
Gzip
可供选择依赖:
Pcre
Libcap
安装必选依赖:
Attr, Bash, Binutils, Coreutils, GCC, Glibc, Perl, Make 和 Sed
测试套件依赖:
没有可用的测试套件
必须之前安装:
Systemd
可供选择依赖:
Linux-PAM
Libpipeline
安装必选依赖:
Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Sed 和 Texinfo
测试套件依赖:
Check
必须之前安装:
Man-DB
可供选择依赖:
无
Libtool
安装必选依赖:
Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Sed 和 Texinfo
测试套件依赖:
Autoconf, Automake, Findutils
必须之前安装:
无
可供选择依赖:
无
Linux Kernel
安装必选依赖:
Bash, Bc, Binutils, Coreutils, Diffutils, Findutils, GCC, Glibc, Grep, Gzip, Kmod, Make, Ncurses, Perl 和 Sed
测试套件依赖:
没有可用的测试套件
必须之前安装:
无
可供选择依赖:
无
M4
安装必选依赖:
Bash, Binutils, Coreutils, GCC, Glibc, Grep, Make, Sed 和 Texinfo
测试套件依赖:
Diffutils
必须之前安装:
Autoconf 和 Bison
可供选择依赖:
libsigsegv
Make
安装必选依赖:
Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, Make, Sed 和 Texinfo
测试套件依赖:
Perl 和 Procps-ng
必须之前安装:
无
可供选择依赖:
无
Man-DB
安装必选依赖:
Bash, Binutils, Bzip2, Coreutils, Flex, GCC, GDBM, Gettext, Glibc, Grep, Groff, Gzip, Less, Libpipeline, Make, Sed 和 Xz
测试套件依赖:
Util-linux
必须之前安装:
无
可供选择依赖:
无
Man-Pages
安装必选依赖:
Bash, Coreutils 和 Make
测试套件依赖:
没有可用的测试套件
必须之前安装:
无
可供选择依赖:
无
MPC
安装必选依赖:
Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, GMP, Make, MPFR, Sed 和 Texinfo
测试套件依赖:
无
必须之前安装:
GCC
可供选择依赖:
无
MPFR
安装必选依赖:
Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, GMP, Make, Sed 和 Texinfo
测试套件依赖:
无
必须之前安装:
GCC
可供选择依赖:
无
Ncurses
安装必选依赖:
Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Patch 和 Sed
测试套件依赖:
没有可用的测试套件
必须之前安装:
Bash, GRUB, Inetutils, Less, Procps-ng, Psmisc, Readline, Texinfo, Util-linux 和 Vim
可供选择依赖:
无
Patch
安装必选依赖:
Bash, Binutils, Coreutils, GCC, Glibc, Grep, Make 和 Sed
测试套件依赖:
Diffutils
必须之前安装:
无
可供选择依赖:
Ed
Perl
安装必选依赖:
Bash, Binutils, Coreutils, Gawk, GCC, GDBM, Glibc, Grep, Groff, Make, Sed 和 Zlib
测试套件依赖:
Iana-Etc 和 Procps-ng
必须之前安装:
Autoconf
可供选择依赖:
无
Pkg-config
安装必选依赖:
Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Make, Popt 和 Sed
测试套件依赖:
无
必须之前安装:
Kmod
可供选择依赖:
无
Popt
安装必选依赖:
Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Make
测试套件依赖:
Diffutils 和 Sed
必须之前安装:
Pkg-config
可供选择依赖:
无
Procps-ng
安装必选依赖:
Bash, Binutils, Coreutils, GCC, Glibc, Make 和 Ncurses
测试套件依赖:
DejaGNU
必须之前安装:
无
可供选择依赖:
无
Psmisc
安装必选依赖:
Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, Make, Ncurses 和 Sed
测试套件依赖:
没有可用的测试套件
必须之前安装:
无
可供选择依赖:
无
Readline
安装必选依赖:
Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Make, Ncurses, Patch, Sed 和 Texinfo
测试套件依赖:
没有可用的测试套件
必须之前安装:
Bash
可供选择依赖:
无
Sed
安装必选依赖:
Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, Make, Sed 和 Texinfo
测试套件依赖:
Diffutils 和 Gawk
必须之前安装:
E2fsprogs, File, Libtool 和 Shadow
可供选择依赖:
Cracklib
Shadow
安装必选依赖:
Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, GCC, Gettext, Glibc, Grep, Make 和 Sed
测试套件依赖:
没有可用的测试套件
必须之前安装:
Coreutils
可供选择依赖:
Acl, Attr, Cracklib, PAM
Systemd
安装必选依赖:
Acl, Attr, Bash, Binutils, Coreutils, Diffutils, Expat, Gawk, GCC, Glibc, Gperf, Grep, Intltool, Libcap, Make, Sed 和 Util-linux
测试套件依赖:
无
必须之前安装:
无
可供选择依赖:
无
Tar
安装必选依赖:
Acl, Attr, Bash, Binutils, Bison, Coreutils, GCC, Gettext, Glibc, Grep, Inetutils, Make, Sed 和 Texinfo
测试套件依赖:
Autoconf, Diffutils, Findutils, Gawk 和 Gzip
必须之前安装:
无
可供选择依赖:
无
Tcl
安装必选依赖:
Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make 和 Sed
测试套件依赖:
无
必须之前安装:
无
可供选择依赖:
无
Texinfo
安装必选依赖:
Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, Patch 和 Sed
测试套件依赖:
无
必须之前安装:
无
可供选择依赖:
无
Util-linux
安装必选依赖:
Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed, Udev 和 Zlib
测试套件依赖:
无
必须之前安装:
无
可供选择依赖:
libcap-ng
Vim
安装必选依赖:
Acl, Attr, Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make, Ncurses 和 Sed
测试套件依赖:
无
必须之前安装:
无
可供选择依赖:
Xorg, GTK+2, LessTif, Python, Tcl, Ruby 和 GPM
XML::Parser
安装必选依赖:
Bash, Binutils, Coreutils, Expat, GCC, Glibc, Make 和 Perl
测试套件依赖:
Perl
必须之前安装:
Intltool
可供选择依赖:
无
Xz
安装必选依赖:
Bash, Binutils, Coreutils, Diffutils, GCC, Glibc 和 Make.
测试套件依赖:
无
必须之前安装:
GRUB, Kmod, Man-DB, Udev
可供选择依赖:
无
Zlib
安装必选依赖:
Bash, Binutils, Coreutils, GCC, Glibc, Make 和 Sed
测试套件依赖:
无
必须之前安装:
File, Kmod, Perl 和 Util-linux
可供选择依赖:
无