1 | <sect2>
|
---|
2 | <title>Installation of Bash</title>
|
---|
3 |
|
---|
4 | <para>Before you attempt to install Bash, you have to check to make sure
|
---|
5 | your distribution has the <filename>/usr/lib/libcurses.a</filename> and
|
---|
6 | <filename>/usr/lib/libncurses.a</filename> files. If your host
|
---|
7 | distribution is an LFS system, all files will be present if you followed
|
---|
8 | the instructions of the book version you read exactly.</para>
|
---|
9 |
|
---|
10 | <para>If both of the files are missing, you have to install the ncurses
|
---|
11 | development package. This package is often call something like
|
---|
12 | <emphasis>ncurses-dev</emphasis>. If this package is already installed,
|
---|
13 | or you just did it, check for the two files again. Often the
|
---|
14 | <filename>libcurses.a</filename> file is (still) missing. If so, then
|
---|
15 | create <filename>libcurses.a</filename> as a symlink by running the
|
---|
16 | following commands:</para>
|
---|
17 |
|
---|
18 | <para><screen><userinput>cd /usr/lib &&</userinput>
|
---|
19 | <userinput>ln -s libncurses.a libcurses.a</userinput></screen></para>
|
---|
20 |
|
---|
21 | <para>Now we can continue. Install Bash by running the following
|
---|
22 | commands:</para>
|
---|
23 |
|
---|
24 | <para><screen><userinput>./configure --enable-static-link --prefix=$LFS/usr \</userinput>
|
---|
25 | <userinput> --bindir=$LFS/bin --with-curses &&</userinput>
|
---|
26 | <userinput>make &&</userinput>
|
---|
27 | <userinput>make install &&</userinput>
|
---|
28 | <userinput>cd $LFS/bin &&</userinput>
|
---|
29 | <userinput>ln -sf bash sh</userinput></screen></para>
|
---|
30 |
|
---|
31 | <para>If the make install phase ends with something along the lines of</para>
|
---|
32 |
|
---|
33 | <blockquote><screen>install-info: unknown option `--dir-file=/mnt/lfs/usr/info/dir'
|
---|
34 | usage: install-info [--version] [--help] [--debug] [--maxwidth=nnn]
|
---|
35 | [--section regexp title] [--infodir=xxx] [--align=nnn]
|
---|
36 | [--calign=nnn] [--quiet] [--menuentry=xxx]
|
---|
37 | [--info-dir=xxx]
|
---|
38 | [--keep-old] [--description=xxx] [--test]
|
---|
39 | [--remove] [--] filename
|
---|
40 | make[1]: *** [install] Error 1
|
---|
41 | make[1]: Leaving directory `/mnt/lfs/usr/src/bash-&bash-version;/doc'
|
---|
42 | make: [install] Error 2 (ignored)</screen></blockquote>
|
---|
43 |
|
---|
44 | <para>then that means that you are probably using Debian, and that you have an
|
---|
45 | old version of the texinfo package. This error is not severe by any means: the
|
---|
46 | info pages will be installed when we recompile bash dynamically in
|
---|
47 | chapter 6, so you can ignore it.</para>
|
---|
48 |
|
---|
49 | <para>When we tested it with the latest Debian version, the last two
|
---|
50 | commands were executed because the install process didn't return with a
|
---|
51 | value larger than 0. But you would do good to check if you have the
|
---|
52 | <filename class="symlink">$LFS/bin/sh</filename> symlink on your LFS
|
---|
53 | partition. If not, run the last two commands manually now.</para>
|
---|
54 |
|
---|
55 | </sect2>
|
---|
56 |
|
---|