5.18. Installing Sh-utils-2.0

Estimated build time:           0.47 SBU
Estimated required disk space:  42 MB

5.18.1. Installation of Sh-utils

Before Sh-utils is installed, the sh-utils patch file may need to be applied. This patch is needed to avoid a conflict of variable names with certain Glibc versions (usually glibc-2.1.x) when compiling sh-utils statically. It is however safe to apply the patch even if you are running a different glibc version. So, if you aren't sure, it's best to apply it.

patch -Np1 -i ../sh-utils-2.0.patch

Install Sh-utils by running the following commands:

./configure --prefix=$LFS/static \
    --disable-nls &&
make LDFLAGS=-static &&
make install

During the make install stage you will see the following warning:

WARNING: insufficient access; not installing su
NOTE: to install su, run 'make install-root' as root

You can safely ignore that warning. You need to be logged in as root in order to install su the way Sh-utils wants to install it, which is being suid root. Because we don't need su during Chapter 6, and su will be properly installed when we re-install Sh-utils in Chapter 6, you can just pretend you didn't see it.

5.18.2. Contents of Sh-utils

Last checked against version 2.0.

5.18.2.2. Descriptions

5.18.3. Sh-utils Installation Dependencies

Last checked against version 2.0.

Autoconf: autoconf, autoheader
Automake: aclocal, automake
Bash: sh
Binutils: ar, as, ld, ranlib
Diffutils: cmp
Fileutils: chmod, chown, install, ls, mv, rm
Gettext: msgfmt, xgettext
Gcc: cc, cc1, collect2, cpp0, gcc
Glibc: getconf
Grep: egrep, fgrep, grep
M4: m4
Make: make
Gawk: gawk
Perl: perl
Sed: sed
Sh-utils: basename, echo, expr, hostname, sleep, uname
Tar: tar
Texinfo: install-info, makeinfo
Textutils: cat, tr