Appendix C. Dependencies

#### Linux From Scratch - Version 10.1

### Part V. Appendices

- Prev

  Acknowledgments

- Next

  Boot and sysconfig scripts version-20210201

- Up
- Home

# C. Dependencies

Every package built in LFS relies on one or more other packages in order to build and install properly. Some packages even participate in circular dependencies, that is, the first package depends on the second which in turn depends on the first. Because of these dependencies, the order in which packages are built in LFS is very important. The purpose of this page is to document the dependencies of each package built in LFS.

For each package we build, we have listed three, and sometimes four, types of dependencies. The first lists what other packages need to be available in order to compile and install the package in question. The second lists what packages, in addition to those on the first list, need to be available in order to run the test suites. The third list of dependencies are packages that require this package to be built and installed in its final location before they are built and installed. In most cases, this is because these packages will hard code paths to binaries within their scripts. If not built in a certain order, this could result in paths of /tools/bin/[binary] being placed inside scripts installed to the final system. This is obviously not desirable.

The last list of dependencies are optional packages that are not addressed in LFS, but could be useful to the user. These packages may have additional mandatory or optional dependencies of their own. For these dependencies, the recommended practice is to install them after completion of the LFS book and then go back and rebuild the LFS package. In several cases, re-installation is addressed in BLFS.

## Acl

Installation depends on: Attr, Bash, Binutils, Coreutils, GCC, Gettext, Grep, M4, Make, Perl, Sed, and Texinfo
Test suite depends on: Automake, Diffutils, Findutils, and Libtool
Must be installed before: Coreutils, Sed, Tar, and Vim
Optional dependencies: None

## Attr

Installation depends on: Bash, Binutils, Coreutils, GCC, Gettext, Grep, M4, Make, Perl, Sed, and Texinfo
Test suite depends on: Automake, Diffutils, Findutils, and Libtool
Must be installed before: Acl and Libcap
Optional dependencies: None

## Autoconf

Installation depends on: Bash, Coreutils, Grep, M4, Make, Perl, Sed, and Texinfo
Test suite depends on: Automake, Diffutils, Findutils, GCC, and Libtool
Must be installed before: Automake
Optional dependencies: Emacs

## Automake

Installation depends on: Autoconf, Bash, Coreutils, Gettext, Grep, M4, Make, Perl, Sed, and Texinfo
Test suite depends on: Binutils, Bison, Bzip2, DejaGNU, Diffutils, Expect, Findutils, Flex, GCC, Gettext, Gzip, Libtool, and Tar
Must be installed before: None
Optional dependencies: None

## Bash

Installation depends on: Bash, Binutils, Bison, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Ncurses, Patch, Readline, Sed, and Texinfo
Test suite depends on: Shadow
Must be installed before: None
Optional dependencies: Xorg

## Bc

Installation depends on: Bash, Binutils, Coreutils, GCC, Glibc, Grep, and Make
Test suite depends on: Gawk
Must be installed before: Linux Kernel
Optional dependencies: None

## Binutils

Installation depends on: Bash, Binutils, Coreutils, Diffutils, File, Flex, Gawk, GCC, Glibc, Grep, Make, Perl, Sed, Texinfo and Zlib
Test suite depends on: DejaGNU and Expect
Must be installed before: None
Optional dependencies: Debuginfod

## Bison

Installation depends on: Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, M4, Make, Perl, and Sed
Test suite depends on: Diffutils, Findutils, and Flex
Must be installed before: Kbd and Tar
Optional dependencies: Doxygen (test suite)

## Bzip2

Installation depends on: Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Make, and Patch
Test suite depends on: None
Must be installed before: File
Optional dependencies: None

## Check

Installation depends on: GCC, Grep, Make, Sed, and Texinfo
Test suite depends on: None
Must be installed before: None
Optional dependencies: None

## Coreutils

Installation depends on: Bash, Binutils, Coreutils, GCC, Gettext, Glibc, GMP, Grep, Libcap, Make, Patch, Perl, Sed, and Texinfo
Test suite depends on: Diffutils, E2fsprogs, Findutils, Shadow, and Util-linux
Must be installed before: Bash, Diffutils, Eudev, Findutils, and Man-DB
Optional dependencies: Perl Expect and IO:Tty modules (for test suite)

## DejaGNU

Installation depends on: Bash, Coreutils, Diffutils, GCC, Grep, Make, Sed, and Texinfo
Test suite depends on: None
Must be installed before: None
Optional dependencies: None

## Diffutils

Installation depends on: Bash, Binutils, Coreutils, Gawk, GCC, Gettext, Glibc, Grep, Make, Sed, and Texinfo
Test suite depends on: Perl
Must be installed before: None
Optional dependencies: None

## E2fsprogs

Installation depends on: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Gzip, Make, Sed, Texinfo, and Util-linux
Test suite depends on: Procps-ng and Psmisc
Must be installed before: None
Optional dependencies: None

## Eudev

Installation depends on: Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Gperf, Make, Sed, and Util-linux
Test suite depends on: None
Must be installed before: None
Optional dependencies: None

## Expat

Installation depends on: Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Make, and Sed
Test suite depends on: None
Must be installed before: Python and XML::Parser
Optional dependencies: None

## Expect

Installation depends on: Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make, Patch, Sed, and Tcl
Test suite depends on: None
Must be installed before: None
Optional dependencies: tk

## File

Installation depends on: Bash, Binutils, Bzip2, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Sed, Xz, and Zlib
Test suite depends on: None
Must be installed before: None
Optional dependencies: None

## Findutils

Installation depends on: Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, Make, Sed, and Texinfo
Test suite depends on: DejaGNU, Diffutils, and Expect
Must be installed before: None
Optional dependencies: None

## Flex

Installation depends on: Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, M4, Make, Patch, Sed, and Texinfo
Test suite depends on: Bison and Gawk
Must be installed before: Binutils, IProute2, Kbd, Kmod, and Man-DB
Optional dependencies: None

## Gawk

Installation depends on: Bash, Binutils, Coreutils, GCC, Gettext, Glibc, GMP, Grep, Make, MPFR, Patch, Readline, Sed, and Texinfo
Test suite depends on: Diffutils
Must be installed before: None
Optional dependencies: libsigsegv

## GCC

Installation depends on: Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, GCC, Gettext, Glibc, GMP, Grep, M4, Make, MPC, MPFR, Patch, Perl, Sed, Tar, Texinfo, and Zstd
Test suite depends on: DejaGNU, Expect, and Shadow
Must be installed before: None
Optional dependencies: GNAT and ISL

## GDBM

Installation depends on: Bash, Binutils, Coreutils, Diffutils, GCC, Grep, Make, and Sed
Test suite depends on: None
Must be installed before: None
Optional dependencies: None

## Gettext

Installation depends on: Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Make, Ncurses, Sed, and Texinfo
Test suite depends on: Diffutils, Perl, and Tcl
Must be installed before: Automake and Bison
Optional dependencies: None

## Glibc

Installation depends on: Bash, Binutils, Bison, Coreutils, Diffutils, Gawk, GCC, Gettext, Grep, Gzip, Linux API Headers, Make, Perl, Python, Sed, and Texinfo
Test suite depends on: File
Must be installed before: None
Optional dependencies: None

## GMP

Installation depends on: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, M4, Make, Sed, and Texinfo
Test suite depends on: None
Must be installed before: MPFR and GCC
Optional dependencies: None

## Gperf

Installation depends on: Bash, Binutils, Coreutils, GCC, Glibc, and Make
Test suite depends on: Diffutils and Expect
Must be installed before: None
Optional dependencies: None

## Grep

Installation depends on: Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Patch, Sed, and Texinfo
Test suite depends on: Gawk
Must be installed before: Man-DB
Optional dependencies: Pcre and libsigsegv

## Groff

Installation depends on: Bash, Binutils, Bison, Coreutils, Gawk, GCC, Glibc, Grep, Make, Patch, Sed, and Texinfo
Test suite depends on: No test suite available
Must be installed before: Man-DB and Perl
Optional dependencies: Ghostscript

## GRUB

Installation depends on: Bash, Binutils, Bison, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed, Texinfo, and Xz
Test suite depends on: None
Must be installed before: None
Optional dependencies: None

## Gzip

Installation depends on: Bash, Binutils, Coreutils, GCC, Glibc, Grep, Make, Sed, and Texinfo
Test suite depends on: Diffutils and Less
Must be installed before: Man-DB
Optional dependencies: None

## Iana-Etc

Installation depends on: Coreutils, Gawk, and Make
Test suite depends on: No test suite available
Must be installed before: Perl
Optional dependencies: None

## Inetutils

Installation depends on: Bash, Binutils, Coreutils, GCC, Glibc, Grep, Make, Ncurses, Patch, Sed, Texinfo, and Zlib
Test suite depends on: None
Must be installed before: Tar
Optional dependencies: None

## Intltool

Installation depends on: Bash, Gawk, Glibc, Make, Perl, Sed, and XML::Parser
Test suite depends on: Perl
Must be installed before: None
Optional dependencies: None

## IProute2

Installation depends on: Bash, Bison, Coreutils, Flex, GCC, Glibc, Make, Libcap, Libelf, and Linux API Headers
Test suite depends on: No test suite available
Must be installed before: None
Optional dependencies: Berkeley DB and Iptables

## Kbd

Installation depends on: Bash, Binutils, Bison, Check, Coreutils, Flex, GCC, Gettext, Glibc, Gzip, Make, Patch, and Sed
Test suite depends on: None
Must be installed before: None
Optional dependencies: None

## Kmod

Installation depends on: Bash, Binutils, Bison, Coreutils, Flex, GCC, Gettext, Glibc, Gzip, Make, Pkg-config, Sed, Xz-Utils, and Zlib
Test suite depends on: No test suite available
Must be installed before: Eudev
Optional dependencies: None

## Less

Installation depends on: Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make, Ncurses, and Sed
Test suite depends on: No test suite available
Must be installed before: Gzip
Optional dependencies: Pcre

## Libcap

Installation depends on: Attr, Bash, Binutils, Coreutils, GCC, Glibc, Perl, Make, and Sed
Test suite depends on: None
Must be installed before: IProute2 and Shadow
Optional dependencies: Linux-PAM

## Libelf

Installation depends on: Bash, Binutils, Coreutils, GCC, Glibc, and Make
Test suite depends on: None
Must be installed before: IProute2 and Linux Kernel
Optional dependencies: None

## Libffi

Installation depends on: Bash, Binutils, Coreutils, GCC, Glibc, Make, and Sed
Test suite depends on: DejaGnu
Must be installed before: Python
Optional dependencies: None

## Libpipeline

Installation depends on: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Sed, and Texinfo
Test suite depends on: Check
Must be installed before: Man-DB
Optional dependencies: None

## Libtool

Installation depends on: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Sed, and Texinfo
Test suite depends on: Autoconf, Automake, and Findutils
Must be installed before: None
Optional dependencies: None

## Linux Kernel

Installation depends on: Bash, Bc, Binutils, Coreutils, Diffutils, Findutils, GCC, Glibc, Grep, Gzip, Kmod, Libelf, Make, Ncurses, OpenSSL, Perl, and Sed
Test suite depends on: No test suite available
Must be installed before: None
Optional dependencies: None

## M4

Installation depends on: Bash, Binutils, Coreutils, GCC, Glibc, Grep, Make, Sed, and Texinfo
Test suite depends on: Diffutils
Must be installed before: Autoconf and Bison
Optional dependencies: libsigsegv

## Make

Installation depends on: Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, Make, Sed, and Texinfo
Test suite depends on: Perl and Procps-ng
Must be installed before: None
Optional dependencies: None

## Man-DB

Installation depends on: Bash, Binutils, Bzip2, Coreutils, Flex, GCC, GDBM, Gettext, Glibc, Grep, Groff, Gzip, Less, Libpipeline, Make, Sed, and Xz
Test suite depends on: Util-linux
Must be installed before: None
Optional dependencies: None

## Man-Pages

Installation depends on: Bash, Coreutils, and Make
Test suite depends on: No test suite available
Must be installed before: None
Optional dependencies: None

## Meson

Installation depends on: Ninja and Python
Test suite depends on: No test suite available
Must be installed before: Systemd
Optional dependencies: None

## MPC

Installation depends on: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, GMP, Make, MPFR, Sed, and Texinfo
Test suite depends on: None
Must be installed before: GCC
Optional dependencies: None

## MPFR

Installation depends on: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, GMP, Make, Sed, and Texinfo
Test suite depends on: None
Must be installed before: Gawk and GCC
Optional dependencies: None

## Ncurses

Installation depends on: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Patch, and Sed
Test suite depends on: No test suite available
Must be installed before: Bash, GRUB, Inetutils, Less, Procps-ng, Psmisc, Readline, Texinfo, Util-linux, and Vim
Optional dependencies: None

## Ninja

Installation depends on: Binutils, Coreutils, GCC, and Python
Test suite depends on: None
Must be installed before: Meson
Optional dependencies: Asciidoc, Doxygen, Emacs, and re2c

## Openssl

Installation depends on: Binutils, Coreutils, GCC, Make, and Perl
Test suite depends on: None
Must be installed before: Linux
Optional dependencies: None

## Patch

Installation depends on: Bash, Binutils, Coreutils, GCC, Glibc, Grep, Make, and Sed
Test suite depends on: Diffutils
Must be installed before: None
Optional dependencies: Ed

## Perl

Installation depends on: Bash, Binutils, Coreutils, Gawk, GCC, GDBM, Glibc, Grep, Groff, Make, Sed, and Zlib
Test suite depends on: Iana-Etc and Procps-ng
Must be installed before: Autoconf
Optional dependencies: None

## Pkg-config

Installation depends on: Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Make, Popt, and Sed
Test suite depends on: None
Must be installed before: Kmod
Optional dependencies: None

## Popt

Installation depends on: Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, and Make
Test suite depends on: Diffutils and Sed
Must be installed before: Pkg-config
Optional dependencies: None

## Procps-ng

Installation depends on: Bash, Binutils, Coreutils, GCC, Glibc, Make, and Ncurses
Test suite depends on: DejaGNU
Must be installed before: None
Optional dependencies: None

## Psmisc

Installation depends on: Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, and Sed
Test suite depends on: No test suite available
Must be installed before: None
Optional dependencies: None

## Python

Installation depends on: Bash, Binutils, Coreutils, Expat, GCC, Gdbm, Gettext, Glibc, Grep, Libffi, Make, Ncurses, Sed, and Util-linux
Test suite depends on: GDB and Valgrind
Must be installed before: Ninja
Optional dependencies: Berkeley DB, OpenSSL, SQLite, and Tk

## Readline

Installation depends on: Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Make, Ncurses, Patch, Sed, and Texinfo
Test suite depends on: No test suite available
Must be installed before: Bash and Gawk
Optional dependencies: None

## Sed

Installation depends on: Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, Make, Sed, and Texinfo
Test suite depends on: Diffutils and Gawk
Must be installed before: E2fsprogs, File, Libtool, and Shadow
Optional dependencies: None

## Shadow

Installation depends on: Acl, Attr, Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, GCC, Gettext, Glibc, Grep, Libcap, Make, and Sed
Test suite depends on: No test suite available
Must be installed before: Coreutils
Optional dependencies: Cracklib and PAM

## Sysklogd

Installation depends on: Binutils, Coreutils, GCC, Glibc, Make, and Patch
Test suite depends on: No test suite available
Must be installed before: None
Optional dependencies: None

## Systemd

Installation depends on: Acl, Attr, Bash, Binutils, Coreutils, Diffutils, Expat, Gawk, GCC, Glibc, Gperf, Grep, Intltool, Libcap, Meson, Sed, and Util-linux
Test suite depends on: None
Must be installed before: None
Optional dependencies: Many, see BLFS systemd page

## Sysvinit

Installation depends on: Binutils, Coreutils, GCC, Glibc, Make, and Sed
Test suite depends on: No test suite available
Must be installed before: None
Optional dependencies: None

## Tar

Installation depends on: Acl, Attr, Bash, Binutils, Bison, Coreutils, GCC, Gettext, Glibc, Grep, Inetutils, Make, Sed, and Texinfo
Test suite depends on: Autoconf, Diffutils, Findutils, Gawk, and Gzip
Must be installed before: None
Optional dependencies: None

## Tcl

Installation depends on: Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make, and Sed
Test suite depends on: None
Must be installed before: None
Optional dependencies: None

## Texinfo

Installation depends on: Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, Patch, and Sed
Test suite depends on: None
Must be installed before: None
Optional dependencies: None

## Util-linux

Installation depends on: Bash, Binutils, Coreutils, Diffutils, Eudev, Findutils, Gawk, GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed, and Zlib
Test suite depends on: None
Must be installed before: None
Optional dependencies: Libcap-ng

## Vim

Installation depends on: Acl, Attr, Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make, Ncurses, and Sed
Test suite depends on: None
Must be installed before: None
Optional dependencies: Xorg, GTK+2, LessTif, Python, Tcl, Ruby, and GPM

## XML::Parser

Installation depends on: Bash, Binutils, Coreutils, Expat, GCC, Glibc, Make, and Perl
Test suite depends on: Perl
Must be installed before: Intltool
Optional dependencies: None

## Xz

Installation depends on: Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, and Make
Test suite depends on: None
Must be installed before: Eudev, File, GRUB, Kmod, and Man-DB
Optional dependencies: None

## Zlib

Installation depends on: Bash, Binutils, Coreutils, GCC, Glibc, Make, and Sed
Test suite depends on: None
Must be installed before: File, Kmod, Perl, and Util-linux
Optional dependencies: None

## Zstd

Installation depends on: Binutils, Coreutils, GCC, Glibc, Gzip, Make, and Xz
Test suite depends on: None
Must be installed before: GCC
Optional dependencies: None

- Prev

  Acknowledgments

- Next

  Boot and sysconfig scripts version-20210201

- Up
- Home