diff options
Diffstat (limited to 'chapter05/bash-inst.xml')
-rw-r--r-- | chapter05/bash-inst.xml | 67 |
1 files changed, 6 insertions, 61 deletions
diff --git a/chapter05/bash-inst.xml b/chapter05/bash-inst.xml index 83fc8b694..e9dbd6197 100644 --- a/chapter05/bash-inst.xml +++ b/chapter05/bash-inst.xml @@ -3,68 +3,13 @@ <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><screen><userinput>CFLAGS="-O2 -pipe" ./configure --prefix=/stage1 \ + --with-curses --without-bash-malloc +make LDFLAGS="-s" +make tests +make install +ln -s bash /stage1/bin/sh</userinput></screen></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] |