12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- <sect2><title> </title><para> </para></sect2>
- <sect2>
- <title>Installation of Bash</title>
- <para>Before you attempt to install Bash, you have to check to make sure
- your distribution has the <filename>/usr/lib/libcurses.a</filename> and
- <filename>/usr/lib/libncurses.a</filename> 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.</para>
- <para>If both of the files are missing, you have to install the Ncurses
- development package. This package is often called something like
- <emphasis>ncurses-dev</emphasis> or <emphasis>ncurses-static</emphasis>. If
- this package is already installed, or you just installed it, check for the
- two files again. Often the <filename>libcurses.a</filename> file is (still)
- missing. If so, create <filename>libcurses.a</filename> as a symlink
- by running the following command as user <emphasis>root:</emphasis></para>
- <para><screen><userinput>ln -s libncurses.a /usr/lib/libcurses.a</userinput></screen></para>
- <para>Now we can really start. Prepare Bash to be compiled by running the
- following command:</para>
- <para><screen><userinput>./configure --enable-static-link \
- --prefix=$LFS/static --with-curses</userinput></screen></para>
- <para>The meaning of the configure options are:</para>
- <itemizedlist>
- <listitem><para><userinput>--enable-static-link</userinput>: This option
- causes the <userinput>bash</userinput> program to be statically
- linked.</para></listitem>
- <listitem><para><userinput>--prefix=$LFS/static</userinput>: This option
- installs all of Bash's files under the
- <filename class="directory">$LFS/static</filename> directory, which becomes
- the <filename class="directory">/static</filename> directory when chroot'ed
- or reboot'ed into LFS.</para></listitem>
- <listitem><para><userinput>--with-curses</userinput>: This option causes
- <filename>bash</filename> to be linked against the curses library instead
- of the default termcap library which has become obsolete. Note, on most
- all Linux systems, the curses library is provided by the Ncurses
- package (so in truth we link against the ncurses library).</para>
- <para>It is not strictly necessary for the static bash to be linked
- against libncurses (it can link against a static termcap for the time
- being just fine because we will reinstall Bash in Chapter 6 anyway,
- where we will use libncurses), but it's a good test to make sure that
- the Ncurses package has been installed properly. If not, you will get in
- trouble later on in this chapter when you install the Texinfo package.
- That package requires ncurses, and termcap can't be used
- there.</para></listitem>
- </itemizedlist>
- <para>Now we can continue with compiling Bash:</para>
- <para><screen><userinput>make</userinput></screen></para>
- <para>And finish off the installation by installing Bash:</para>
- <para><screen><userinput>make install</userinput></screen></para>
- <para>If the <userinput>make install</userinput> phase ends with something
- along the lines of the following:</para>
- <blockquote><screen>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-&bash-version;/doc'
- make: [install] Error 2 (ignored)</screen></blockquote>
- <para>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.</para>
- </sect2>
|