Changeset 69a52c1


Ignore:
Timestamp:
08/18/2003 08:53:34 PM (21 years ago)
Author:
Alex Gronenwoud <alex@…>
Branches:
10.0, 10.0-rc1, 10.1, 10.1-rc1, 11.0, 11.0-rc1, 11.0-rc2, 11.0-rc3, 11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, 12.0, 12.0-rc1, 12.1, 12.1-rc1, 6.0, 6.1, 6.1.1, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.5-systemd, 7.6, 7.6-systemd, 7.7, 7.7-systemd, 7.8, 7.8-systemd, 7.9, 7.9-systemd, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, arm, bdubbs/gcc13, ml-11.0, multilib, renodr/libudev-from-systemd, s6-init, trunk, v5_0, v5_1, v5_1_1, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/lfs-next, xry111/loongarch, xry111/loongarch-12.0, xry111/loongarch-12.1, xry111/mips64el, xry111/pip3, xry111/rust-wip-20221008, xry111/update-glibc
Children:
503e1a6
Parents:
2cff2cc
Message:

last text additions in chapter 5, added a section on stripping

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@2672 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

Location:
chapter05
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • chapter05/bash-inst.xml

    r2cff2cc r69a52c1  
    44<title>Installation of Bash</title>
    55
    6 <para>Bash has a number of bugs in it that cause it to not behave the
    7 way it is expected at times. Fix this behaviour with the following
     6<para>Bash contains several known bugs. Fix these with the following
    87patch:</para>
    98
    109<para><screen><userinput>patch -Np1 -i ../bash-&bash-patch-version;.patch</userinput></screen></para>
    1110
    12 <para><screen><userinput>./configure --prefix=/stage1 \
    13 &nbsp;&nbsp;&nbsp;&nbsp;--with-curses
    14 make
    15 make tests
    16 make install
    17 ln -s bash /stage1/bin/sh</userinput></screen></para>
     11<para>Now prepare Bash for compilation:</para>
    1812
     13<para><screen><userinput>./configure --prefix=/stage1 --with-curses</userinput></screen></para>
    1914
    20 <blockquote><screen>install-info: unknown option `--dir-file=/mnt/lfs/usr/info/dir'
    21 usage: install-info [--version] [--help] [--debug] [--maxwidth=nnn]
    22         [--section regexp title] [--infodir=xxx] [--align=nnn]
    23         [--calign=nnn] [--quiet] [--menuentry=xxx]
    24         [--info-dir=xxx]
    25         [--keep-old] [--description=xxx] [--test]
    26         [--remove] [--] filename
    27 make[1]: *** [install] Error 1
    28 make[1]: Leaving directory `/mnt/lfs/usr/src/bash-&bash-version;/doc'
    29 make: [install] Error 2 (ignored)</screen></blockquote>
     15<para>Compile the program:</para>
    3016
    31 <para>then that means that you are probably using Debian-2.2 (potato), and
    32 that you have an old version of the texinfo package and the info pages
    33 can't be installed at this time. This error is not a problem as the info
    34 pages will be installed when we recompile bash dynamically in Chapter 6, so
    35 you can ignore it.  It is reported that the current release of Debian
    36 (3.0; also known as Woody) doesn't have this problem.</para>
     17<para><screen><userinput>make</userinput></screen></para>
     18
     19<para>Check that it works correctly:</para>
     20
     21<para><screen><userinput>make tests</userinput></screen></para>
     22
     23<para>Then install it and its documentation:</para>
     24
     25<para><screen><userinput>make install</userinput></screen></para>
     26
     27<para>And make a link for the programs that use <userinput>sh</userinput>
     28for a shell:</para>
     29
     30<para><screen><userinput>ln -s bash /stage1/bin/sh</userinput></screen></para>
    3731
    3832</sect2>
  • chapter05/chapter05.xml

    r2cff2cc r69a52c1  
    3636&c5-perl;
    3737
     38<sect1 id="ch05-stripping">
     39<title>Stripping</title>
     40<?dbhtml filename="stripping.html" dir="chapter05"?>
     41
     42<para>If your LFS partition is rather small, you will be glad to learn that you
     43can throw away some unnecessary things. The executables and libraries you have
     44built so far contain about 130 MB of unneeded debugging symbols. Remove those
     45symbols like this:</para>
     46
     47<para><screen><userinput>strip --strip-unneeded /stage1/{,s}bin/*
     48strip --strip-debug /stage1/lib/*</userinput></screen></para>
     49
     50<para>The first of the above commands will skip some twenty files, reporting
     51that it doesn't recognize their file format. Most of them are scripts instead
     52of binaries.</para>
     53
     54<para>Take care <emphasis>not</emphasis> to use
     55<userinput>--strip-unneeded</userinput> on the libraries -- they would be
     56destroyed and you would have to build Glibc all over again.</para>
     57
     58<para>To save another couple of megabytes, you can throw away the documentation
     59and some of the bigger unneeded programs:</para>
     60
     61<para><screen><userinput>rm -r /stage1/share/{doc,info,man}
     62rm /stage1/bin/{addr2line,gprof,nm,size,strings,strip}</userinput></screen></para>
     63
     64<para>You will now need to have at least 700 MB of free space on your LFS
     65filesystem to be able to build and install Glibc in the next phase.</para>
     66
     67</sect1>
     68
    3869</chapter>
    3970
  • chapter05/perl-inst.xml

    r2cff2cc r69a52c1  
    33<title>Installation of Perl</title>
    44
    5 <para><screen><userinput>patch -Np1 -i ../perl-&perl-version;-libc.patch
    6 chmod u+w hints/linux.sh
    7 echo 'static_ext="IO re Fcntl"' >> hints/linux.sh
    8 ./configure.gnu --prefix=/stage1
    9 make perl
    10 make utilities
    11 cp perl /stage1/bin/perl
    12 cp pod/pod2man /stage1/bin
     5<para>First adapt some hard-wired paths to the C library:</para>
     6
     7<para><screen><userinput>patch -Np1 -i ../perl-&perl-version;-libc.patch</userinput></screen></para>
     8
     9<para>And make sure some static extensions get built:</para>
     10
     11<para><screen><userinput>chmod u+w hints/linux.sh
     12echo 'static_ext="IO re Fcntl"' >> hints/linux.sh</userinput></screen></para>
     13
     14<para>Now prepare Perl for compilation:</para>
     15
     16<para><screen><userinput>./configure.gnu --prefix=/stage1</userinput></screen></para>
     17
     18<para>Compile only the required tools:</para>
     19
     20<para><screen><userinput>make perl utilities</userinput></screen></para>
     21
     22<para>Then copy these tools and their libraries:</para>
     23
     24<para><screen><userinput>cp perl pod/pod2man /stage1/bin
    1325mkdir -p /stage1/lib/perl5/5.8.0
    1426cp -R lib/* /stage1/lib/perl5/5.8.0</userinput></screen></para>
  • chapter05/utillinux-inst.xml

    r2cff2cc r69a52c1  
    44<title>Installation of Util-linux</title>
    55
    6 <para><screen><userinput>./configure
    7 make -C lib
    8 make -C mount mount umount
    9 make -C text-utils more
    10 cp mount/{mount,umount} /stage1/bin
    11 cp text-utils/more /stage1/bin</userinput></screen></para>
     6<para>Prepare Util-linux for compilation:</para>
     7
     8<para><screen><userinput>./configure</userinput></screen></para>
     9
     10<para>Compile some support routines:</para>
     11
     12<para><screen><userinput>make -C lib</userinput></screen></para>
     13
     14<para>And, since you'll need only a couple of the utilities contained in this
     15package, build just those:</para>
     16
     17<para><screen><userinput>make -C mount  mount umount
     18make -C text-utils  more</userinput></screen></para>
     19
     20<para>Now copy these programs to the temporary tools directory:</para>
     21
     22<para><screen><userinput>cp mount/{,u}mount text-utils/more /stage1/bin</userinput></screen></para>
    1223
    1324</sect2>
Note: See TracChangeset for help on using the changeset viewer.