diff options
Diffstat (limited to 'chapter05')
-rw-r--r-- | chapter05/bash-exp.xml | 32 | ||||
-rw-r--r-- | chapter05/bash-inst.xml | 61 | ||||
-rw-r--r-- | chapter05/bash.xml | 5 |
3 files changed, 50 insertions, 48 deletions
diff --git a/chapter05/bash-exp.xml b/chapter05/bash-exp.xml deleted file mode 100644 index ba7b375c1..000000000 --- a/chapter05/bash-exp.xml +++ /dev/null @@ -1,32 +0,0 @@ -<sect2> -<title>Command explanations</title> - -<para><userinput>--enable-static-link:</userinput> This configure -option causes bash to be linked statically.</para> - -<para><userinput>--prefix=$LFS/static:</userinput> This configure option -installs all of Bash's files under the $LFS/static directory, which becomes -the /static directory when chroot'ed or reboot'ed into LFS.</para> - -<para><userinput>--with-curses:</userinput> This causes bash to be -linked against the curses library instead of the default termcap -library which is becoming obsolete.</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 anyways, -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 reliably be used -there.</para> - -<para>The <userinput>&&</userinput>'s at the end of every line cause -the next command to be executed only if the previous command exits -with a return value of 0 indicating success. In case all of these -commands are copy & pasted on the shell, it is important to ensure -that if ./configure fails, make isn't executed and, likewise, if make -fails, that make install isn't executed, and so forth.</para> - -</sect2> - diff --git a/chapter05/bash-inst.xml b/chapter05/bash-inst.xml index 7283b50ae..08970350e 100644 --- a/chapter05/bash-inst.xml +++ b/chapter05/bash-inst.xml @@ -12,21 +12,56 @@ 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, then create <filename>libcurses.a</filename> as a symlink -by running the following commands as user root:</para> +missing. If so, create <filename>libcurses.a</filename> as a symlink +by running the following commands as user <emphasis>root:</emphasis></para> <para><screen><userinput>ln -s libncurses.a /usr/lib/libcurses.a</userinput></screen></para> -<para>Now we can continue. Install Bash by running the following -commands:</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 && -make && -make install</userinput></screen></para> + --prefix=$LFS/static --with-curses</userinput></screen></para> + +<para>The meaning of the configure switches are:</para> + +<itemizedlist> +<listitem><para><userinput>--enable-static-link:</userinput> This option +caused 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 $LFS/static directory, which becomes +the /static directory when chroot'ed or reboot'ed into +LFS.</para></listitem> + +<listitem><para><userinput>--with-curses:</userinput> This option caused +bash to be linked against the curses library instead of the default termcap +library which is being phased out and 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 anyways, +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 reliably be used +there.</para></listitem> +</itemizedlist> + +<para>Now we can continue 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 this:</para> +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] @@ -40,11 +75,11 @@ 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. This error is not -severe by any means: 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> +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> diff --git a/chapter05/bash.xml b/chapter05/bash.xml index fce1614ef..2c102e39b 100644 --- a/chapter05/bash.xml +++ b/chapter05/bash.xml @@ -5,10 +5,9 @@ <screen>Estimated build time: &bash-time-static; Estimated required disk space: &bash-compsize-static;</screen> -&c5-bash-inst; -&c5-bash-exp; -&aa-bash-desc; +&aa-bash-shortdesc; &aa-bash-dep; +&c5-bash-inst; </sect1> |