Changeset 7bfad05 for chapter06


Ignore:
Timestamp:
01/27/2003 10:10:07 PM (21 years ago)
Author:
Gerard Beekmans <gerard@…>
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, v4_1, 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:
4f8a3af9
Parents:
8f8e328c
Message:

QA Part #1

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

Location:
chapter06
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • chapter06/binutils-inst.xml

    r8f8e328c r7bfad05  
    77is best left alone. Therefore, if you have defined any environment variables
    88that override default optimizations, such as CFLAGS and CXXFLAGS, we
    9 recommend unsetting or modifying them when building binutils. You have
    10 been warned.</para>
     9recommend unsetting or modifying them when building binutils.</para>
    1110
    1211<para>It is recommended by the Binutils installation documentation to build
    13 Binutils outside of the source directory. Create the build directory:</para>
     12Binutils outside of the source directory:</para>
    1413
    1514<para><screen><userinput>mkdir ../binutils-build &amp;&amp;
  • chapter06/findutils-inst.xml

    r8f8e328c r7bfad05  
    55
    66<para>A patch must be applied in order to prevent compilation
    7 errors. The patch fixes a variable conflict and some bad syntax.
    8 Issue the following command to apply this patch:</para>
     7errors. The patch fixes a variable conflict and some bad syntax:</para>
    98
    109<para><screen><userinput>patch -Np1 -i ../findutils-&findutils-patch-version;.patch</userinput></screen></para>
  • chapter06/flex-inst.xml

    r8f8e328c r7bfad05  
    1616<para><screen><userinput>make install</userinput></screen></para>
    1717
    18 <para>There are packages which expect to find the flex library
     18<para>There are packages which expect to find the lex library
    1919in the <filename>/usr/lib</filename> directory. Create a symlink
    2020to account for this:</para>
  • chapter06/gawk-inst.xml

    r8f8e328c r7bfad05  
    55
    66<para>This package requires its patch to be applied before you can
    7 install it. Issue the following command to apply the patch:</para>
     7install it:</para>
    88
    99<para><screen><userinput>patch -Np1 -i ../gawk-&gawk-patch-version;.patch</userinput></screen></para>
  • chapter06/gcc-inst.xml

    r8f8e328c r7bfad05  
    88best left alone. Therefore, if you have defined any environment variables
    99that override default optimizations, such as CFLAGS and CXXFLAGS, we
    10 recommend unsetting or modifying them when building GCC. You have
    11 been warned.</para>
     10recommend unsetting or modifying them when building GCC.</para>
    1211
    1312<para>We will be building the C and C++ compilers at this time, so you'll
     
    6160<para><screen><userinput>make install</userinput></screen></para>
    6261
    63 <para>Some packages require that the C++ compiler be installed in the
     62<para>Some packages expect the C PreProcessor to be installed in the
    6463<filename>/lib</filename> and <filename>/usr/lib</filename> directories.
    6564To honor those packages, create two symlinks:</para>
  • chapter06/glibc-inst.xml

    r8f8e328c r7bfad05  
    1313is best left alone. Therefore, if you have defined any environment variables
    1414that override default optimizations, such as CFLAGS and CXXFLAGS, we
    15 recommend unsetting or modifying them when building Glibc. You have
    16 been warned.</para>
     15recommend unsetting or modifying them when building Glibc.</para>
    1716
    1817<para>Basically, compiling Glibc in any other way than the book suggests
    19 is putting your system at very high risk.</para>
     18is putting your system at a very high risk.</para>
    2019
    2120<para>We'll start by applying a patch to Glibc that fixes the following:</para>
     
    2625<filename>malloc/Makefile</filename> file. This is done because Glibc
    2726can't autodetect the location of perl because the Perl package hasn't been
    28 installed yet.</para></listitem>
     27installed yet. And if Glibc thinks Perl isn't installed, the
     28<userinput>mtrace</userinput> perl program won't be installed
     29either.</para></listitem>
    2930
    3031<listitem><para>It replaces all occurrences of <emphasis>root</emphasis>
     
    4344to crash that were linked against Glibc-2.2 or older libraries. Even though
    4445static binaries have all the necessary parts of Glibc built-in, they still
    45 rely on one external library: Glibc's NSS libraries. These libraries, among
    46 other things, tell programs where the system's password database is
     46rely on one external library set: Glibc's NSS libraries. These libraries,
     47among other things, tell programs where the system's password database is
    4748(/etc/password, or NIS, or whatever other scheme has been
    4849configured).</para>
     
    5152code is incompatible with the old one. So when Glibc is installed, it will
    5253install its new NSS libraries and static programs will load these new NSS
    53 libraries and start to abort with <emphasis>segmentation faults</emphasis>.
    54 This patch undoes a few of the changes to overcome the problem.</para>
     54libraries and start to abort with <emphasis>segmentation fault</emphasis>
     55error. This patch undoes a few of the changes to overcome the problem.</para>
    5556
    56 <para>So, if you started chapter 5 with a host system that uses Glibc-2.2.x
     57<para>If you started chapter 5 with a host system that uses Glibc-2.2.x
    5758or older, you must apply the following patch. We will install Glibc again at
    5859the end of this chapter to remove this patch so you'll have a pristine Glibc
     
    6263
    6364<para>Glibc will check for the <filename>/etc/ld.so.conf</filename> file
    64 and abort with an error if the file is missing, so we must create it.</para>
     65and abort with an error if the file is missing, so we must create it:</para>
    6566
    6667<para><screen><userinput>touch /etc/ld.so.conf</userinput></screen></para>
    6768
    6869<para>It is recommended by the Glibc installation documentation to build
    69 Glibc outside of the source directory in a dedicated directory.</para>
     70Glibc outside of the source directory in a dedicated directory:</para>
    7071
    7172<para><screen><userinput>mkdir ../glibc-build &amp;&amp;
    7273cd ../glibc-build</userinput></screen></para>
    7374
    74 <para>Next, prepare Glibc to be compiled.</para>
     75<para>Next, prepare Glibc to be compiled:</para>
    7576
    7677<para><screen><userinput>../glibc-&glibc-version;/configure --prefix=/usr \
    7778&nbsp;&nbsp;&nbsp;&nbsp;--disable-profile --enable-add-ons \
    7879&nbsp;&nbsp;&nbsp;&nbsp;--libexecdir=/usr/bin</userinput></screen></para>
     80
     81<para>The meaning of the configure options are:</para>
     82
     83<itemizedlist>
     84<listitem><para><userinput>--disable-profile:</userinput> This disables the
     85building of libraries with profiling information. This command may be
     86omitted if you plan to do profiling.</para></listitem>
     87
     88<listitem><para><userinput>--enable-add-ons:</userinput> This enables the
     89add-on that we install with Glibc, linuxthreads</para></listitem>
     90
     91<listitem><para><userinput>--libexecdir=/usr/bin:</userinput> This will
     92cause the pt_chown program to be installed in the /usr/bin
     93directory.</para></listitem>
     94</itemizedlist>
    7995
    8096<para>During this stage you will see the following warning:</para>
     
    94110would require you to re-generate the binary files.</para>
    95111
    96 <para>The meaning of the configure options are:</para>
    97 
    98 <itemizedlist>
    99 <listitem><para><userinput>--disable-profile:</userinput> This disables the
    100 building of libraries with profiling information. This command may be
    101 omitted if you plan to do profiling.</para></listitem>
    102 
    103 <listitem><para><userinput>--enable-add-ons:</userinput> This enables the
    104 add-on that we install with Glibc, linuxthreads</para></listitem>
    105 
    106 <listitem><para><userinput>--libexecdir=/usr/bin:</userinput> This will
    107 cause the pt_chown program to be installed in the /usr/bin
    108 directory.</para></listitem>
    109 </itemizedlist>
    110 
    111112<para>Because Glibc hasn't been installed yet, one of the tests that was
    112113run by the configure script failed. This test is supposed to test gcc to
    113114determine whether or not a cross-compiler is installed. However, Glibc
    114115needs to be installed already to run this test. Since the test failed, the
    115 configure script automatically assumed we do have a cross-compiler. So,
    116 we have to override that assumption by explicitly telling Glibc we're not
    117 cross-compiling.</para>
     116configure script automatically assumed we do have a cross-compiler. We have
     117to override that assumption by explicitly telling Glibc we're not
     118cross-compiling. Not doing this has a couple of unintended side effects,
     119such as the timezone files not being installed.</para>
    118120
    119121<para><screen><userinput>echo "cross-compiling = no" &gt; configparms</userinput></screen></para>
    120122
    121 <para>We'll continue with compiling and installing Glibc. The Linuxthreads man
     123<para>Continue with compiling the package:</para>
     124
     125<para><screen><userinput>make</userinput></screen></para>
     126
     127<para>We'll continue with installing the package. The Linuxthreads man
    122128pages are not going to be installed at this point because it requires a
    123129working Perl installation. We'll install Perl later on in this chapter,
     
    125131time at the end of this chapter.</para>
    126132
    127 <para><screen><userinput>make &amp;&amp;
    128 make install</userinput></screen></para>
     133<para><screen><userinput>make install</userinput></screen></para>
    129134
    130135<para>Locales aren't installed when you ran
    131136<userinput>make install</userinput>, so we have to do that ourselves now.
    132137Locales are used by Glibc to make your Linux system talk in a different
    133 language.</para>
     138language:</para>
    134139
    135140<para><screen><userinput>make localedata/install-locales</userinput></screen></para>
     
    143148<para>To finish off the installation we'll reload Bash so it uses the
    144149libnss files. This will also get rid of the
    145 <emphasis>I have no name!</emphasis> message in the command prompt.</para>
     150<emphasis>I have no name!</emphasis> message in the command prompt:</para>
    146151
    147152<para><screen><userinput>exec /static/bin/bash --login</userinput></screen></para>
  • chapter06/makedev-inst.xml

    r8f8e328c r7bfad05  
    3232the creation of pty devices so that devpts can manage them itself.</para>
    3333
    34 <para><filename>MAKEDEV</filename> will create devices ranging from hda[1-20]
    35 to hdh[1-20] and beyond, but keep in mind that you probably won't be able to
    36 use all of these due to kernel limits on the maximum number of
    37 partitions.</para>
    38 
    3934</sect2>
    4035
  • chapter06/ncurses-inst.xml

    r8f8e328c r7bfad05  
    2727<para>Since the libaries have been moved to
    2828<filename>/lib</filename>, a few symlinks are currently pointing
    29 towards non-existing files. Create the following symlinks to
    30 account for this:</para>
     29towards non-existing files. Recreate those symlinks:</para>
    3130
    3231<para><screen><userinput>ln -sf libncurses.a /usr/lib/libcurses.a &amp;&amp;
  • chapter06/nettools-inst.xml

    r8f8e328c r7bfad05  
    1616it's up to the kernel to make them available to the system.</para>
    1717
    18 <para>If you intend to accept the default settings, you may skip
    19 the questions generated by <emphasis>make</emphasis> by runing
    20 <userinput>yes "" | make</userinput>.</para>
    21 
    2218<para>Compile the package:</para>
    2319
    2420<para><screen><userinput>make</userinput></screen></para>
     21
     22<para>If you intend to accept the default settings, you may skip
     23the questions generated by <emphasis>make</emphasis> by runing
     24<userinput>yes "" | make</userinput> instead.</para>
    2525
    2626<para>Finish installing the package:</para>
     
    3030<para>The <emphasis>update</emphasis> option to <userinput>make</userinput>
    3131works similarly to the <emphasis>install</emphasis> option, with one
    32 exception: it doesn't make backups of files it's replacing. One of the
    33 things net-tools replaces is sh-utils's version of /bin/hostname
    34 (net-tools's version is far better than sh-utils's version).</para>
     32exception: it doesn't make backups of files it's replacing.</para>
    3533
    36 <para>Also, if you decide to reinstall this package at some point in the
    37 future, a make update won't backup all the files from a previous net-tools
    38 installation.</para>
     34<para>If you decide to reinstall this package at some point in the
     35future, a <userinput>make update</userinput> won't backup all the files
     36from a previous net-tools installation.</para>
    3937
    4038</sect2>
  • chapter06/perl-inst.xml

    r8f8e328c r7bfad05  
    99<para><screen><userinput>./configure.gnu --prefix=/usr</userinput></screen></para>
    1010
     11<para>If you want more control over the way perl sets itself up to be
     12built, you can run the interactive <userinput>Configure</userinput> script
     13instead and modify the way perl is built. If you think you can live with the
     14(sensible) defaults perl auto-detects, then just use the command listed
     15above.</para>
     16
    1117<para>Continue with compiling the package:</para>
    1218
     
    1723<para><screen><userinput>make install</userinput></screen></para>
    1824
    19 <para>If you want more control over the way perl sets itself up to be
    20 built, you can run the interactive <userinput>Configure</userinput> script
    21 and modify the way perl is built. If you think you can live with the
    22 (sensible) defaults perl auto-detects, then just use the commands listed
    23 above.</para>
    24 
    2525</sect2>
    2626
  • chapter06/textutils-inst.xml

    r8f8e328c r7bfad05  
    1717
    1818<para>Finally, complete the installation of this package
    19 by moving some of its programs to the appropriate directory:</para>
     19by moving some of its programs to a more appropriate directory:</para>
    2020
    2121<para><screen><userinput>mv /usr/bin/{cat,head} /bin</userinput></screen></para>
  • chapter06/vim-inst.xml

    r8f8e328c r7bfad05  
    55
    66<para>This package requires its patch to be applied before you can
    7 install it. This patch fixes a compile problem with GCC-3.2. Apply
    8 the patch by issuing the following command:</para>
     7install it. This patch fixes a compile problem with GCC-3.2:</para>
    98
    109<para><screen><userinput>patch -Np1 -i ../vim-&vim-patch-version;.patch</userinput></screen></para>
     
    1716
    1817<para><screen><userinput>make CPPFLAGS=-DSYS_VIMRC_FILE=\\\"/etc/vimrc\\\"</userinput></screen></para>
     18
     19<para>The meaning of the make option is:</para>
     20
     21<itemizedlist>
     22<listitem><para><userinput>CPPFLAGS=-DSYS_VIMRC_FILE=\\\"/etc/vimrc\\\":</userinput>
     23This option above causes vim to look for the
     24<filename>/etc/vimrc</filename> file which contains vim's global settings.
     25Normally, this file is assumed to be located in <filename
     26class="directory">/usr/share/vim</filename>, but we feel that
     27<filename class="directory">/etc</filename> is a more logical place for this
     28kind of file.</para></listitem>
     29</itemizedlist>
    1930
    2031<para>The <emphasis>CPPFLAGS</emphasis> option above causes vim to look
  • chapter06/zlib-inst.xml

    r8f8e328c r7bfad05  
    2626that you must boot without the <filename>/usr</filename>
    2727directory, vital system programs will still have access to
    28 the library. Finish installing the shared library:</para>
     28the library:</para>
    2929
    3030<para><screen><userinput>mv /usr/lib/libz.so.* /lib</userinput></screen></para>
Note: See TracChangeset for help on using the changeset viewer.