[6370fa6] | 1 | <sect2>
|
---|
| 2 | <title>Installation of Bash</title>
|
---|
| 3 |
|
---|
[5cce404] | 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
|
---|
[f8217e15] | 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>
|
---|
[5cce404] | 9 |
|
---|
[f8217e15] | 10 | <para>If both of the files are missing, you have to install the ncurses
|
---|
[3a6a8dd] | 11 | development package. This package is often called something like
|
---|
[f8217e15] | 12 | <emphasis>ncurses-dev</emphasis>. If this package is already installed,
|
---|
[3a6a8dd] | 13 | or you just installed it, check for the two files again. Often the
|
---|
[f8217e15] | 14 | <filename>libcurses.a</filename> file is (still) missing. If so, then
|
---|
| 15 | create <filename>libcurses.a</filename> as a symlink by running the
|
---|
[1438da9] | 16 | following commands as user root:</para>
|
---|
[5cce404] | 17 |
|
---|
[4d6fc2da] | 18 | <para><screen><userinput>cd /usr/lib &&
|
---|
| 19 | ln -s libncurses.a libcurses.a</userinput></screen></para>
|
---|
[5cce404] | 20 |
|
---|
| 21 | <para>Now we can continue. Install Bash by running the following
|
---|
| 22 | commands:</para>
|
---|
[970f0b3] | 23 |
|
---|
[4d6fc2da] | 24 | <para><screen><userinput>./configure --enable-static-link --prefix=$LFS/usr \
|
---|
| 25 | --bindir=$LFS/bin --with-curses &&
|
---|
| 26 | make &&
|
---|
| 27 | make install &&
|
---|
| 28 | cd $LFS/bin &&
|
---|
| 29 | ln -sf bash sh</userinput></screen></para>
|
---|
[970f0b3] | 30 |
|
---|
[b822811] | 31 | <para>If the make install phase ends with something along the lines of</para>
|
---|
[20ea64e] | 32 |
|
---|
[b822811] | 33 | <blockquote><screen>install-info: unknown option `--dir-file=/mnt/lfs/usr/info/dir'
|
---|
[20ea64e] | 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
|
---|
[513afc2] | 41 | make[1]: Leaving directory `/mnt/lfs/usr/src/bash-&bash-version;/doc'
|
---|
[b822811] | 42 | make: [install] Error 2 (ignored)</screen></blockquote>
|
---|
[20ea64e] | 43 |
|
---|
[b822811] | 44 | <para>then that means that you are probably using Debian, and that you have an
|
---|
[20ea64e] | 45 | old version of the texinfo package. This error is not severe by any means: the
|
---|
[94aac945] | 46 | info pages will be installed when we recompile bash dynamically in
|
---|
[1265c08] | 47 | chapter 6, so you can ignore it.</para>
|
---|
[0e6ea1c] | 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>
|
---|
[20ea64e] | 54 |
|
---|
[6370fa6] | 55 | </sect2>
|
---|
| 56 |
|
---|