Installing Bash-2.05a

Estimated build time:           1 SBU 
Estimated required disk space:  24 MB

Contents of Bash

Last checked against version 2.05a.

bash is the Bourne-Again SHell, which is a widely used command interpreter on Unix systems. The bash program reads from standard input (the keyboard). A user types something and the program will evaluate what he has typed and do something with it, like running a program.

Bash installs the following files:

Program Files

bash, sh (link to bash) and bashbug

 

Bash Installation Dependencies

Last checked against version 2.05a.

Bash: bash, sh
Binutils: ar, as, ld, ranlib, size
Diffutils: cmp
Fileutils: chmod, cp, install, ln, ls, mkdir, mv, rm
Gcc: cc, cc1, collect2, cpp0, gcc
Grep: egrep, grep
Make: make
Gawk: awk
Sed: sed
Sh-utils: basename, echo, expr, hostname, sleep, uname
Texinfo: install-info
Textutils: cat, tr, uniq

 

Installation of Bash

Before you attempt to install Bash, you have to check to make sure your distribution has the /usr/lib/libcurses.a and /usr/lib/libncurses.a files. If your host distribution is an LFS system, all files will be present if you followed the instructions of the book version you read exactly.

If both of the files are missing, you have to install the Ncurses development package. This package is often called something like ncurses-dev or ncurses-static. If this package is already installed, or you just installed it, check for the two files again. Often the libcurses.a file is (still) missing. If so, create libcurses.a as a symlink by running the following command as user root:

ln -s libncurses.a /usr/lib/libcurses.a

Now we can really start. Prepare Bash to be compiled by running the following command:

./configure --enable-static-link \
    --prefix=$LFS/static --with-curses

The meaning of the configure options are:

Now we can continue with compiling Bash:

make

And finish off the installation by installing Bash:

make install

If the make install phase ends with something along the lines of the following:

install-info: unknown option `--dir-file=/mnt/lfs/usr/info/dir' 
usage: install-info [--version] [--help] [--debug] [--maxwidth=nnn] 
	[--section regexp title] [--infodir=xxx] [--align=nnn] 
	[--calign=nnn] [--quiet] [--menuentry=xxx]
	[--info-dir=xxx] 
	[--keep-old] [--description=xxx] [--test]
	[--remove] [--] filename 
make[1]: *** [install] Error 1 
make[1]: Leaving directory `/mnt/lfs/usr/src/bash-2.05a/doc' 
make: [install] Error 2 (ignored)

then that means that you are probably using Debian-2.2 (potato), and that you have an old version of the texinfo package and the info pages can't be installed at this time. This error is not a problem as the info pages will be installed when we recompile bash dynamically in Chapter 6, so you can ignore it. It is reported that the current release of Debian (3.0; also known as Woody) doesn't have this problem.