Changeset 69a52c1
- Timestamp:
- 08/18/2003 08:53:34 PM (21 years ago)
- 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
- Location:
- chapter05
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter05/bash-inst.xml
r2cff2cc r69a52c1 4 4 <title>Installation of Bash</title> 5 5 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 8 7 patch:</para> 9 8 10 9 <para><screen><userinput>patch -Np1 -i ../bash-&bash-patch-version;.patch</userinput></screen></para> 11 10 12 <para><screen><userinput>./configure --prefix=/stage1 \ 13 --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> 18 12 13 <para><screen><userinput>./configure --prefix=/stage1 --with-curses</userinput></screen></para> 19 14 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> 30 16 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> 28 for a shell:</para> 29 30 <para><screen><userinput>ln -s bash /stage1/bin/sh</userinput></screen></para> 37 31 38 32 </sect2> -
chapter05/chapter05.xml
r2cff2cc r69a52c1 36 36 &c5-perl; 37 37 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 43 can throw away some unnecessary things. The executables and libraries you have 44 built so far contain about 130 MB of unneeded debugging symbols. Remove those 45 symbols like this:</para> 46 47 <para><screen><userinput>strip --strip-unneeded /stage1/{,s}bin/* 48 strip --strip-debug /stage1/lib/*</userinput></screen></para> 49 50 <para>The first of the above commands will skip some twenty files, reporting 51 that it doesn't recognize their file format. Most of them are scripts instead 52 of binaries.</para> 53 54 <para>Take care <emphasis>not</emphasis> to use 55 <userinput>--strip-unneeded</userinput> on the libraries -- they would be 56 destroyed 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 59 and some of the bigger unneeded programs:</para> 60 61 <para><screen><userinput>rm -r /stage1/share/{doc,info,man} 62 rm /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 65 filesystem to be able to build and install Glibc in the next phase.</para> 66 67 </sect1> 68 38 69 </chapter> 39 70 -
chapter05/perl-inst.xml
r2cff2cc r69a52c1 3 3 <title>Installation of Perl</title> 4 4 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 12 echo '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 13 25 mkdir -p /stage1/lib/perl5/5.8.0 14 26 cp -R lib/* /stage1/lib/perl5/5.8.0</userinput></screen></para> -
chapter05/utillinux-inst.xml
r2cff2cc r69a52c1 4 4 <title>Installation of Util-linux</title> 5 5 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 15 package, build just those:</para> 16 17 <para><screen><userinput>make -C mount mount umount 18 make -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> 12 23 13 24 </sect2>
Note:
See TracChangeset
for help on using the changeset viewer.