Changeset 03e6a40 for BOOK/final-system/common
- Timestamp:
- Apr 20, 2014, 8:57:39 AM (11 years ago)
- Children:
- 0be79ea
- Parents:
- 88ef769 (diff), 578ca586 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Location:
- BOOK/final-system/common
- Files:
-
- 9 added
- 5 deleted
- 38 edited
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
BOOK/final-system/common/automake.xml
r88ef769 r03e6a40 28 28 <para os="a">Prepare Automake for compilation:</para> 29 29 30 <screen os="b"><userinput>./configure --prefix=/usr </userinput></screen>30 <screen os="b"><userinput>./configure --prefix=/usr --docdir=/usr/share/doc/automake-&automake-version;</userinput></screen> 31 31 32 32 <para os="c">Compile the package:</para> -
BOOK/final-system/common/bash.xml
r88ef769 r03e6a40 27 27 28 28 <c:command c:multilib="false">./configure --prefix=/usr --bindir=/bin \ 29 --without-bash-malloc --with-installed-readline</c:command> 29 --without-bash-malloc --with-installed-readline \ 30 --docdir=/usr/share/doc/bash-&bash-version;</c:command> 30 31 <c:command c:multilib="true">CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" \ 31 32 ./configure --prefix=/usr --bindir=/bin \ 32 --without-bash-malloc --with-installed-readline</c:command> 33 --without-bash-malloc --with-installed-readline \ 34 --docdir=/usr/share/doc/bash-&bash-version;</c:command> 33 35 34 36 <!-- … … 56 58 <c:para>Install the package:</c:para> 57 59 58 <c:command>make htmldir=/usr/share/doc/bash-&bash-version;install</c:command>60 <c:command>make install</c:command> 59 61 60 62 <c:para>Run the newly compiled <c:command>bash</c:command> program (replacing -
BOOK/final-system/common/bc.xml
r88ef769 r03e6a40 18 18 <title/> 19 19 20 <para>The Bc pac akge contains an arbitrary precision numeric processing language.</para>20 <para>The Bc package contains an arbitrary precision numeric processing language.</para> 21 21 22 22 </sect2> … … 27 27 <para os="a">Prepare Bc for compilation:</para> 28 28 29 <screen os="b"><userinput>./configure --prefix=/usr --with-readline</userinput></screen> 29 <screen os="b"><userinput>./configure --prefix=/usr --with-readline \ 30 --mandir=/usr/share/man --infodir=/usr/share/info</userinput></screen> 30 31 31 32 <para os="c">Compile the package:</para> -
BOOK/final-system/common/binutils.xml
r88ef769 r03e6a40 62 62 <para os="j">Compile the package:</para> 63 63 64 <screen os="k"><userinput>make configure-host</userinput></screen>64 <screen os="k"><userinput>make tooldir=/usr</userinput></screen> 65 65 66 66 <important os="l"> 67 <para>During <command>make configure-host</command> you may receive the67 <para>During <command>make tooldir=/usr</command> you may receive the 68 68 following error message. It is safe to ignore.</para> 69 69 … … 74 74 </important> 75 75 76 <screen os="m"><userinput>make tooldir=/usr</userinput></screen>77 78 76 <variablelist os="n"> 79 77 <title>The meaning of the make parameter:</title> … … 104 102 <screen os="s"><userinput>make tooldir=/usr install</userinput></screen> 105 103 106 <para os="t">Install the <filename class="headerfile">libiberty</filename> header107 file that is needed by some packages:</para>108 109 <screen os="u"><userinput>cp -v ../binutils-&binutils-dir;/include/libiberty.h /usr/include</userinput></screen>110 111 104 </sect2> 112 105 … … 123 116 objdump, 124 117 ranlib, readelf, size, strings, and strip</seg> 125 <seg>lib iberty.a, libbfd.[a,so], and libopcodes.[a,so]</seg>118 <seg>libbfd.[a,so], and libopcodes.[a,so]</seg> 126 119 <seg>/usr/lib/ldscripts</seg> 127 120 </seglistitem> … … 310 303 </varlistentry> 311 304 312 <varlistentry id="libiberty">313 <term><filename class="libraryfile">libiberty</filename></term>314 <listitem>315 <para>Contains routines used by various GNU programs, including316 <command>getopt</command>, <command>obstack</command>,317 <command>strerror</command>, <command>strtol</command>, and318 <command>strtoul</command></para>319 <indexterm zone="ch-system-binutils libiberty">320 <primary sortas="c-libiberty">libiberty</primary>321 </indexterm>322 </listitem>323 </varlistentry>324 325 305 <varlistentry id="libbfd"> 326 306 <term><filename class="libraryfile">libbfd</filename></term> -
BOOK/final-system/common/bison.xml
r88ef769 r03e6a40 25 25 <title>Installation of Bison</title> 26 26 27 <para os="t3">The <command>configure </command>script does not determine28 the correct value for the following. Set the value manually:</para>29 30 <screen os="t4"><userinput>echo "ac_cv_prog_lex_is_flex=yes" > config.cache</userinput></screen>31 32 27 <para os="a">Prepare Bison for compilation:</para> 33 28 34 <screen os="b"><userinput> ./configure --prefix=/usr --cache-file=config.cache</userinput></screen>29 <screen os="b"><userinput>M4=m4 ./configure --prefix=/usr</userinput></screen> 35 30 36 31 <para os="c">Compile the package:</para> -
BOOK/final-system/common/bzip2.xml
r88ef769 r03e6a40 33 33 34 34 <screen os="s2"><userinput>sed -i -e 's:ln -s -f $(PREFIX)/bin/:ln -s :' Makefile</userinput></screen> 35 36 <para os="s3">Make Bzip2 install its manpages in 37 <filename class="directory">/usr/share/man</filename> instead of 38 <filename class="directory">/usr/man</filename>:</para> 39 40 <screen os="s4"><userinput>sed -i 's@X)/man@X)/share/man@g' ./Makefile</userinput></screen> 35 41 36 42 <para os="a">The Bzip2 package does not contain a <command>configure</command> -
BOOK/final-system/common/cloog.xml
r88ef769 r03e6a40 33 33 LDFLAGS="-Wl,-rpath-link,/usr/lib:/lib" \ 34 34 ./configure --prefix=/usr --enable-shared --with-isl=system</userinput></screen> 35 36 <para os="s1">Apply a <command>sed</command> which prevents the attempted installation of an invalid file:</para> 37 38 <screen os="s2"><userinput>sed -i '/cmake/d' Makefile</userinput></screen> 35 39 36 40 <para os="c">Compile the package:</para> -
BOOK/final-system/common/coreutils.xml
r88ef769 r03e6a40 38 38 ./configure --prefix=/usr \ 39 39 --enable-no-install-program=kill,uptime \ 40 --enable-install-program=hostname </userinput></screen>40 --enable-install-program=hostname --libexecdir=/usr/lib</userinput></screen> 41 41 42 42 <variablelist os="d1"> … … 56 56 <screen os="f"><userinput>make</userinput></screen> 57 57 58 <para os="g">The test suite of Coreutils makes several assumptions about the 59 presence of system users and groups that are not valid within the minimal 60 environment that exists at the moment. Therefore, we will reuse the dummy 61 groups and user created during Util-linux. Skip down to <quote>Install the 62 package</quote> if not running the test suite and you did not create the 63 dummy groups and users during Util-linux.</para> 64 65 <para os="h">Now the test suite is ready to be run. First, run 58 <para os="g">Now the test suite is ready to be run. First, run 66 59 the tests that are meant to be run as user 67 60 <systemitem class="username">root</systemitem>:</para> 68 61 69 <screen os="i"><userinput remap="test">make NON_ROOT_USERNAME=dummy</userinput></screen> 70 71 <para os="j">The testsuite will now be run as the 72 <systemitem class="username">dummy</systemitem> user. Fix the permissions 73 for a few files to allow this:</para> 74 75 <screen os="k"><userinput remap="test">chown -Rv dummy .</userinput></screen> 76 77 <para os="l">Then run the remainder of the tests as the 78 <systemitem class="username">dummy</systemitem> user:</para> 79 80 <screen os="m"><userinput remap="test">su dummy -s /bin/bash \ 62 <screen os="h"><userinput remap="test">make NON_ROOT_USERNAME=nobody check-root</userinput></screen> 63 64 <para os="i">The testsuite will now be run as the 65 <systemitem class="username">nobody</systemitem> user. Some tests require 66 that the user be a member of more than one group. Add a temporary group 67 and make the user <systemitem class="username">nobody</systemitem> a part 68 of it so that the tests are not skipped:</para> 69 70 <screen os="j"><userinput remap="test">echo "dummy:x:1000:nobody" >> /etc/group</userinput></screen> 71 72 <para os="k">Fix permissions of some files so the non-root user can compile 73 and run the tests:</para> 74 75 <screen os="l"><userinput remap="test">chown -Rv nobody .</userinput></screen> 76 77 <para os="m">Then run the remainder of the tests as the 78 <systemitem class="username">nobody</systemitem> user:</para> 79 80 <screen os="n"><userinput remap="test">su nobody -s /bin/bash \ 81 81 -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes -k check || true"</userinput></screen> 82 82 83 <para os="n">When testing is complete, remove the 84 <systemitem class="username">dummy</systemitem> user and groups:</para> 85 86 <screen os="o"><userinput remap="test">sed -i '/dummy/d' /etc/passwd /etc/group</userinput></screen> 87 88 <para os="p">Install the package:</para> 89 90 <screen os="q"><userinput>make install</userinput></screen> 91 92 <para os="r">Move programs to the locations specified by the FHS:</para> 93 94 <screen os="s"><userinput>mv -v /usr/bin/{cat,chgrp,chmod,chown,cp,date} /bin 83 <para os="o">Remove the temporary group:</para> 84 85 <screen os="p"><userinput remap="test">sed -i '/dummy/d' /etc/group</userinput></screen> 86 87 <para os="q">Install the package:</para> 88 89 <screen os="r"><userinput>make install</userinput></screen> 90 91 <para os="s">Move programs to the locations specified by the FHS:</para> 92 93 <screen os="t"><userinput>mv -v /usr/bin/{cat,chgrp,chmod,chown,cp,date} /bin 95 94 mv -v /usr/bin/{dd,df,echo,false,hostname,ln,ls,mkdir,mknod} /bin 96 95 mv -v /usr/bin/{mv,pwd,rm,rmdir,stty,true,uname} /bin 97 96 mv -v /usr/bin/chroot /usr/sbin</userinput></screen> 98 99 <para os="t">Other Coreutils programs are used by some of the scripts100 in the CLFS-Bootscripts package. As <filename101 class="directory">/usr</filename> may not be available during the early102 stages of booting, those binaries need to be on the root partition:</para>103 104 <screen os="u"><userinput>mv -v /usr/bin/{[,basename,head,install,nice} /bin105 mv -v /usr/bin/{readlink,sleep,sync,test,touch} /bin106 ln -svf ../../bin/install /usr/bin</userinput></screen>107 97 108 98 </sect2> -
BOOK/final-system/common/diffutils.xml
r88ef769 r03e6a40 26 26 <title>Installation of Diffutils</title> 27 27 28 <para os="s1">Fix a file so locale files are installed:</para> 29 30 <screen os="s2"><userinput>sed -i 's:= @mkdir_p@:= /bin/mkdir -p:' po/Makefile.in.in</userinput></screen> 31 28 32 <para os="a">Prepare Diffutils for compilation:</para> 29 33 30 34 <screen os="b"><userinput>./configure --prefix=/usr</userinput></screen> 31 35 32 <para os="s 1">Diffutils wants <command>ed</command> as the default editor.36 <para os="s3">Diffutils wants <command>ed</command> as the default editor. 33 37 The following sed will change the default to <command>vim</command>:</para> 34 38 35 <screen os="s 2"><userinput>sed -i 's@\(^#define DEFAULT_EDITOR_PROGRAM \).*@\1"vi"@' lib/config.h</userinput></screen>39 <screen os="s4"><userinput>sed -i 's@\(^#define DEFAULT_EDITOR_PROGRAM \).*@\1"vi"@' lib/config.h</userinput></screen> 36 40 37 41 <para os="c">Compile the package:</para> -
BOOK/final-system/common/e2fsprogs.xml
r88ef769 r03e6a40 64 64 <para>This creates the shared libraries which some programs 65 65 in this package use.</para> 66 </listitem> 67 </varlistentry> 68 69 <varlistentry os="e3"> 70 <term><parameter>--disable-*</parameter></term> 71 <listitem> 72 <para>This prevents E2fsprogs from building and installing the 73 <systemitem class="library">libuuid</systemitem> and 74 <systemitem class="library">libblkid</systemitem> libraries, the 75 <systemitem class="daemon">uuidd</systemitem> daemon, and the 76 <command>fsck</command> wrapper, as Util-Linux installed all of 77 them earlier.</para> 66 78 </listitem> 67 79 </varlistentry> -
BOOK/final-system/common/flex.xml
r88ef769 r03e6a40 28 28 <para os="a">Prepare Flex for compilation:</para> 29 29 30 <screen os="b"><userinput> ./configure --prefix=/usr</userinput></screen>30 <screen os="b"><userinput>M4=m4 ./configure --prefix=/usr --docdir=/usr/share/doc/flex-&flex-version;</userinput></screen> 31 31 32 32 <para os="c">Compile the package:</para> … … 42 42 <screen os="g"><userinput>make install</userinput></screen> 43 43 44 <para os="h">There are some packages that expect to find the 45 <filename class="libraryfile">lex</filename> library in <filename 46 class="directory">/usr/lib</filename>. Create a symlink to account for 47 this:</para> 48 49 <screen os="i"><userinput>ln -sv libfl.a /usr/lib/libl.a</userinput></screen> 50 51 <para os="j">A few programs do not know about <command>flex</command> yet and 44 <para os="h">A few programs do not know about <command>flex</command> yet and 52 45 try to run its predecessor, <command>lex</command>. To support those 53 46 programs, create a wrapper script named <filename>lex</filename> that … … 55 48 mode:</para> 56 49 57 <screen os=" k"><userinput>cat > /usr/bin/lex << "EOF"50 <screen os="i"><userinput>cat > /usr/bin/lex << "EOF" 58 51 <literal>#!/bin/sh 59 52 # Begin /usr/bin/lex … … 73 66 <segtitle>Installed programs</segtitle> 74 67 <segtitle>Installed libraries</segtitle> 68 <segtitle>Installed directory</segtitle> 75 69 76 70 <seglistitem> 77 <seg>flex and lex</seg> 78 <seg>libfl.a and libfl_pic.a</seg> 71 <seg>flex, flex++ (link to flex), and lex</seg> 72 <seg>libfl.[a,so] and libfl_pic.[a,so]</seg> 73 <seg>/usr/share/doc/flex-&flex-version;</seg> 79 74 </seglistitem> 80 75 </segmentedlist> … … 119 114 </varlistentry> 120 115 121 <varlistentry id="libfl .a">122 <term><filename class="libraryfile">libfl .a</filename></term>116 <varlistentry id="libfl"> 117 <term><filename class="libraryfile">libfl</filename></term> 123 118 <listitem> 124 119 <para>The <filename class="libraryfile">flex</filename> library</para> 125 <indexterm zone="ch-system-flex libfl .a">126 <primary sortas="c-libfl .a">libfl.a</primary>120 <indexterm zone="ch-system-flex libfl"> 121 <primary sortas="c-libfl">libfl</primary> 127 122 </indexterm> 128 123 </listitem> 129 124 </varlistentry> 130 125 131 <varlistentry id="libfl_pic .a">132 <term><filename class="libraryfile">libfl_pic .a</filename></term>126 <varlistentry id="libfl_pic"> 127 <term><filename class="libraryfile">libfl_pic</filename></term> 133 128 <listitem> 134 129 <para>The <filename class="libraryfile">flex</filename> library</para> 135 <indexterm zone="ch-system-flex libfl_pic .a">136 <primary sortas="c-libfl .a">libfl_pic.a</primary>130 <indexterm zone="ch-system-flex libfl_pic"> 131 <primary sortas="c-libfl">libfl_pic</primary> 137 132 </indexterm> 138 133 </listitem> -
BOOK/final-system/common/gawk.xml
r88ef769 r03e6a40 42 42 <screen os="g"><userinput>make install</userinput></screen> 43 43 44 <para os="h">Install the documentation:</para> 45 46 <screen os="i"><userinput>mkdir -v /usr/share/doc/gawk-&gawk-version; 47 cp -v doc/{awkforai.txt,*.{eps,pdf,jpg}} /usr/share/doc/gawk-&gawk-version;</userinput></screen> 48 44 49 </sect2> 45 50 … … 54 59 <seg>awk (link to gawk), gawk, gawk-&gawk-version;, grcat, igawk, 55 60 pgawk, pgawk-&gawk-version;, and pwcat</seg> 56 <seg>/usr/lib/awk, /usr/share/awk</seg> 61 <seg>/usr/lib/awk, /usr/lib/gawk, /usr/share/awk, 62 /usr/share/doc/gawk-&gawk-version;</seg> 57 63 </seglistitem> 58 64 </segmentedlist> -
BOOK/final-system/common/gcc.xml
r88ef769 r03e6a40 34 34 suppress the execution of the <command>fixincludes</command> script:</para> 35 35 36 <screen os="fix2"><userinput>cp -v gcc/Makefile.in{,.orig} 37 sed 's@\./fixinc\.sh@-c true@' gcc/Makefile.in.orig > gcc/Makefile.in</userinput></screen> 38 39 <para os="d">Apply a <command>sed</command> substitution that will suppress the 40 installation of <filename class="libraryfile">libiberty.a</filename>. The 41 version of <filename class="libraryfile">libiberty.a</filename> provided by 42 Binutils will be used instead:</para> 43 44 <screen os="e"><userinput>sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in</userinput></screen> 36 <screen os="fix2"><userinput>sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in</userinput></screen> 45 37 46 38 <para os="f">The GCC documentation recommends building GCC outside of the source … … 52 44 <para os="h">Prepare GCC for compilation:</para> 53 45 54 <screen os="i"><userinput> CC="gcc -isystem /usr/include" \46 <screen os="i"><userinput>SED=sed CC="gcc -isystem /usr/include" \ 55 47 CXX="g++ -isystem /usr/include" \ 56 48 LDFLAGS="-Wl,-rpath-link,/usr/lib:/lib" \ … … 60 52 --enable-clocale=gnu --enable-languages=c,c++ \ 61 53 --disable-multilib --disable-libstdcxx-pch \ 62 --enable-cloog-backend=isl --disable-isl-version-check --with-system-zlib \ 63 --enable-checking=release --enable-libstdcxx-time \ 64 --disable-install-libiberty</userinput></screen> 54 --with-system-zlib --enable-checking=release --enable-libstdcxx-time</userinput></screen> 65 55 66 56 <para os="j">Compile the package:</para> … … 99 89 <screen os="t"><userinput>make install</userinput></screen> 100 90 101 <para os="u">Some packages expect the C preprocessor to be installed in the 91 <para os="u">Install the <filename class="headerfile">libiberty</filename> header 92 file that is needed by some packages:</para> 93 94 <screen os="v"><userinput>cp -v ../gcc-&gcc-version;/include/libiberty.h /usr/include</userinput></screen> 95 96 <para os="w">Some packages expect the C preprocessor to be installed in the 102 97 <filename class="directory">/lib</filename> directory. 103 98 To support those packages, create this symlink:</para> 104 99 105 <screen os=" v"><userinput>ln -sv ../usr/bin/cpp /lib</userinput></screen>106 107 <para os=" w">Many packages use the name <command>cc</command> to call the C100 <screen os="x"><userinput>ln -sv ../usr/bin/cpp /lib</userinput></screen> 101 102 <para os="y">Many packages use the name <command>cc</command> to call the C 108 103 compiler. To satisfy those packages, create a symlink:</para> 109 104 110 <screen os=" x"><userinput>ln -sv gcc /usr/bin/cc</userinput></screen>111 112 <para os=" y">Finally, move a misplaced file:</para>113 114 <screen os=" z"><userinput>mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib</userinput></screen>105 <screen os="z"><userinput>ln -sv gcc /usr/bin/cc</userinput></screen> 106 107 <para os="aa">Finally, move a misplaced file:</para> 108 109 <screen os="ab"><userinput>mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib</userinput></screen> 115 110 116 111 </sect2> … … 126 121 <seglistitem> 127 122 <seg>c++, cc (link to gcc), cpp, g++, gcc, and gcov</seg> 128 <seg>libasan.[a,so], libgcc.a, libgcc_eh.a, libgcc_s.so, libgcov.a, 129 libgomp.[a,so], libmudflap.[a,so], libmudflapth.[a,so], libssp.[a,so], 130 libssp_nonshared.a, libstdc++.[a,so], libsupc++.a, and libtsan.[a,so]</seg> 123 <seg>libasan.[a,so], libatomic.[a,so], libgcc.a, libgcc_eh.a, libgcc_s.so, libgcov.a, 124 libgomp.[a,so], libiberty.a, libitm.[a,so], liblto_plugin.so, libmudflap.[a,so], libmudflapth.[a,so], 125 libquadmath.[a,so], libssp.[a,so], libssp_nonshared.a, libstdc++.[a,so], libsupc++.a, and 126 libtsan.[a,so]</seg> 131 127 <seg>/usr/include/c++, /usr/lib/gcc, /usr/share/gcc-&gcc-version;</seg> 132 128 </seglistitem> … … 210 206 </varlistentry> 211 207 208 <varlistentry id="libatomic"> 209 <term><filename class="libraryfile">libatomic</filename></term> 210 <listitem> 211 <para>A GCC support runtime library for atomic operations not 212 supported by hardware</para> 213 <indexterm zone="ch-system-gcc libatomic"> 214 <primary sortas="c-libatomic*">libatomic*</primary> 215 </indexterm> 216 </listitem> 217 </varlistentry> 218 212 219 <varlistentry id="libgcc"> 213 220 <term><filename class="libraryfile">libgcc</filename></term> … … 242 249 </varlistentry> 243 250 251 <varlistentry id="libiberty"> 252 <term><filename class="libraryfile">libiberty</filename></term> 253 <listitem> 254 <para>Contains routines used by various GNU programs, including 255 <command>getopt</command>, <command>obstack</command>, 256 <command>strerror</command>, <command>strtol</command>, and 257 <command>strtoul</command></para> 258 <indexterm zone="ch-system-gcc libiberty"> 259 <primary sortas="c-libiberty">libiberty</primary> 260 </indexterm> 261 </listitem> 262 </varlistentry> 263 264 <varlistentry id="libitm"> 265 <term><filename class="libraryfile">libitm</filename></term> 266 <listitem> 267 <para>The GNU Transactional Memory Library, which provides 268 transaction support for accesses to a process's memory</para> 269 <indexterm zone="ch-system-gcc libitm"> 270 <primary sortas="c-libitm*">libitm*</primary> 271 </indexterm> 272 </listitem> 273 </varlistentry> 274 275 <varlistentry id="liblto_plugin"> 276 <term><filename class="libraryfile">liblto_plugin</filename></term> 277 <listitem> 278 <para>Runtime library for GCC's link-time optimization plugin</para> 279 <indexterm zone="ch-system-gcc liblto_plugin"> 280 <primary sortas="c-liblto_plugin">liblto_plugin</primary> 281 </indexterm> 282 </listitem> 283 </varlistentry> 284 244 285 <varlistentry id="libmudflap"> 245 286 <term><filename class="libraryfile">libmudflap</filename></term> … … 253 294 </varlistentry> 254 295 296 <varlistentry id="libquadmath"> 297 <term><filename class="libraryfile">libquadmath</filename></term> 298 <listitem> 299 <para>The GCC Quad-Precision Math Libarary API</para> 300 <indexterm zone="ch-system-gcc libquadmath"> 301 <primary sortas="c-libquadmath*">libquadmath*</primary> 302 </indexterm> 303 </listitem> 304 </varlistentry> 305 255 306 <varlistentry id="libssp"> 256 307 <term><filename class="libraryfile">libssp</filename></term> -
BOOK/final-system/common/gettext.xml
r88ef769 r03e6a40 30 30 <para os="a">Prepare Gettext for compilation:</para> 31 31 32 <screen os="b"><userinput>./configure --prefix=/usr </userinput></screen>32 <screen os="b"><userinput>./configure --prefix=/usr --docdir=/usr/share/doc/gettext-&gettext-version;</userinput></screen> 33 33 34 34 <para os="c">Compile the package:</para> … … 61 61 <seg>libasprintf.[a,so], libgettextlib.so, libgettextpo.[a,so], 62 62 libgettextsrc.so, and preloadable_libintl.so</seg> 63 <seg>/usr/lib/gettext, /usr/share/doc/gettext, /usr/share/gettext</seg> 63 <seg>/usr/lib/gettext, /usr/share/doc/gettext-&gettext-version;, 64 /usr/share/gettext</seg> 64 65 </seglistitem> 65 66 </segmentedlist> -
BOOK/final-system/common/glibc.xml
r88ef769 r03e6a40 6 6 ]> 7 7 8 <sect1 id="ch-system- eglibc" role="wrap">9 <?dbhtml filename=" eglibc.html"?>10 11 <title> EGLIBC-&eglibc-version;</title>12 13 <indexterm zone="ch-system- eglibc">14 <primary sortas="a- EGLIBC">EGLIBC</primary>8 <sect1 id="ch-system-glibc" role="wrap"> 9 <?dbhtml filename="glibc.html"?> 10 11 <title>GLIBC-&glibc-version;</title> 12 13 <indexterm zone="ch-system-glibc"> 14 <primary sortas="a-GLIBC">GLIBC</primary> 15 15 </indexterm> 16 16 … … 18 18 <title/> 19 19 20 <para>The EGLIBC package contains the main C library. This library provides20 <para>The GLIBC package contains the main C library. This library provides 21 21 the basic routines for allocating memory, searching directories, opening and 22 22 closing files, reading and writing files, string handling, pattern matching, … … 26 26 27 27 <sect2 role="installation"> 28 <title>Installation of EGLIBC</title>28 <title>Installation of GLIBC</title> 29 29 30 30 <note os="z"> … … 34 34 <quote>This library provides an <function>iconv()</function> 35 35 implementation, for use on systems which don't have one, or whose 36 implementation cannot convert from/to Unicode.</quote> EGLIBC provides36 implementation cannot convert from/to Unicode.</quote> GLIBC provides 37 37 an <function>iconv()</function> implementation and can convert from/to 38 38 Unicode, therefore libiconv is not required on a CLFS system.</para> … … 58 58 unset LINKER</userinput></screen> 59 59 60 <para os="b">The EGLIBC build system is self-contained and will install60 <para os="b">The GLIBC build system is self-contained and will install 61 61 perfectly, even though the compiler specs file and linker are still 62 62 pointing at <filename class="directory">/tools</filename>. The specs 63 and linker cannot be adjusted before the EGLIBC install because the64 EGLIBC Autoconf tests would give false results and defeat the goal63 and linker cannot be adjusted before the GLIBC install because the 64 GLIBC Autoconf tests would give false results and defeat the goal 65 65 of achieving a clean build.</para> 66 66 67 <para os="s1">A llow EGLIBC to detect Make-4.x:</para>68 69 <screen os="s2"><userinput>sed - r -i 's/(3..89..)/\1 | 4.*/' configure</userinput></screen>70 71 <para os="e">The EGLIBC documentation recommends building EGLIBC outside of the source directory in a dedicated build directory:</para>72 73 <screen os="f"><userinput>mkdir -v ../ eglibc-build74 cd ../ eglibc-build</userinput></screen>75 76 <para os="g">Prepare EGLIBC for compilation:</para>77 78 <screen os="h"><userinput>../ eglibc-&eglibc-version;/configure --prefix=/usr \79 --disable-profile --enable-kernel=2.6.32 --libexecdir=/usr/lib/ eglibc \67 <para os="s1">Apply the following sed so the <command>tzselect</command> script works properly:</para> 68 69 <screen os="s2"><userinput>sed -i 's/\\$$(pwd)/`pwd`/' timezone/Makefile</userinput></screen> 70 71 <para os="e">The GLIBC documentation recommends building GLIBC outside of the source directory in a dedicated build directory:</para> 72 73 <screen os="f"><userinput>mkdir -v ../glibc-build 74 cd ../glibc-build</userinput></screen> 75 76 <para os="g">Prepare GLIBC for compilation:</para> 77 78 <screen os="h"><userinput>../glibc-&glibc-version;/configure --prefix=/usr \ 79 --disable-profile --enable-kernel=2.6.32 --libexecdir=/usr/lib/glibc \ 80 80 --enable-obsolete-rpc</userinput></screen> 81 81 … … 84 84 85 85 <varlistentry> 86 <term><parameter>--libexecdir=/usr/lib/ eglibc</parameter></term>86 <term><parameter>--libexecdir=/usr/lib/glibc</parameter></term> 87 87 <listitem> 88 88 <para>This changes the location of the <command>getconf</command> 89 89 utility from its default of <filename 90 90 class="directory">/usr/libexec</filename> to <filename 91 class="directory">/usr/lib/ eglibc</filename>.</para>91 class="directory">/usr/lib/glibc</filename>.</para> 92 92 </listitem> 93 93 </varlistentry> … … 99 99 100 100 <important os="l"> 101 <para>The test suite for EGLIBC is considered critical.101 <para>The test suite for GLIBC is considered critical. 102 102 Do not skip it under any circumstance.</para> 103 103 </important> … … 108 108 <!-- items n,o,p no longer the master, use x86_64 which has no failures --> 109 109 110 <screen os="n"><userinput remap="test">cp -v ../eglibc-&eglibc-version;/iconvdata/gconv-modules iconvdata 111 make -k check 2>&1 | tee eglibc-check-log; grep Error eglibc-check-log</userinput></screen> 112 113 <para os="o">The EGLIBC test suite is highly dependent on certain functions of 114 the host system, in particular the kernel. The posix/annexc test normally fails 110 <screen os="n"><userinput remap="test">cp -v ../glibc-&glibc-version;/iconvdata/gconv-modules iconvdata 111 make -k check 2>&1 | tee glibc-check-log; grep Error glibc-check-log</userinput></screen> 112 113 <para os="o">The GLIBC test suite is highly dependent on certain functions of 114 the host system, in particular the kernel. The <emphasis>posix/annexc</emphasis> and 115 <emphasis>conform/run-conformtest</emphasis> tests normally fail 115 116 and you should see <literal>Error 1 (ignored)</literal> in the output. Apart 116 from this, the EGLIBC test suite is always expected to pass. However, in certain117 from this, the GLIBC test suite is always expected to pass. However, in certain 117 118 circumstances, some failures are unavoidable. If a test fails because of a missing 118 119 program (or missing symbolic link), or a segfault, you will see an error code … … 123 124 124 125 <itemizedlist os="p"> 126 <listitem> 127 <para>The <emphasis>nptl/tst-clock2</emphasis>, 128 <emphasis>nptl/tst-attr3</emphasis>, 129 <emphasis>tst/tst-cputimer1</emphasis>, and 130 <emphasis>rt/tst-cpuclock2</emphasis> 131 tests have been known to fail. The 132 reason is not completely understood, but indications are that minor 133 timing issues can trigger these failures.</para> 134 </listitem> 125 135 <listitem> 126 136 <para>The <emphasis>math</emphasis> tests sometimes fail. … … 137 147 <listitem> 138 148 <para>When running on older and slower hardware, some tests 139 can fail because of test timeouts being exceeded.</para> 149 can fail because of test timeouts being exceeded. 150 Modifying the make check command to set a TIMEOUTFACTOR is reported to 151 help eliminate these errors (e.g. <command>TIMEOUTFACTOR=16 152 make -k check</command>).</para> 153 </listitem> 154 <listitem> 155 <para>posix/tst-getaddrinfo4 will always fail due to not having a network 156 connection when the test is run.</para> 140 157 </listitem> 141 158 </itemizedlist> 142 159 143 <para os="q">Though it is a harmless message, the install stage of EGLIBC will160 <para os="q">Though it is a harmless message, the install stage of GLIBC will 144 161 complain about the absence of <filename>/etc/ld.so.conf</filename>. 145 162 Prevent this warning with:</para> … … 147 164 <screen os="r"><userinput>touch /etc/ld.so.conf</userinput></screen> 148 165 149 <para os="s">Install the package:</para> 150 151 <screen os="t"><userinput>make install</userinput></screen> 166 <para os="s">Install the package, and remove unneeded files from 167 <filename class="directory">/usr/include/rpcsvc</filename>:</para> 168 169 <screen os="t"><userinput>make install && 170 rm -v /usr/include/rpcsvc/*.x</userinput></screen> 171 172 <para os="u">Install the configuration file and runtime directory for 173 <command>nscd</command>:</para> 174 175 <screen os="v"><userinput>cp -v ../glibc-2.19/nscd/nscd.conf /etc/nscd.conf 176 mkdir -pv /var/cache/nscd</userinput></screen> 177 178 <para os="w">Install the Systemd support files for <command>nscd</command>:</para> 179 180 <screen os="x"><userinput>install -v -Dm644 ../glibc-2.19/nscd/nscd.tmpfiles /usr/lib/tmpfiles.d/nscd.conf 181 install -v -Dm644 ../glibc-2.19/nscd/nscd.service /lib/systemd/system/nscd.service</userinput></screen> 152 182 153 183 </sect2> 154 184 155 <sect2 id="i18n- eglibc" role="configuration">185 <sect2 id="i18n-glibc" role="configuration"> 156 186 <title>Internationalization</title> 157 187 … … 164 194 <para>To save time, an alternative to running the previous command (which 165 195 generates and installs every locale listed in the 166 <filename> eglibc-&eglibc-version;/localedata/SUPPORTED</filename> file) is196 <filename>glibc-&glibc-version;/localedata/SUPPORTED</filename> file) is 167 197 to install only those locales that are wanted and needed. This can be 168 198 achieved by using the <command>localedef</command> command. Information on 169 199 this command is located in the <filename>INSTALL</filename> file in the 170 EGLIBC source. However, there are a number of locales that are essential in200 GLIBC source. However, there are a number of locales that are essential in 171 201 order for the tests of future packages to pass, in particular, the 172 202 <emphasis>libstdc++</emphasis> tests from GCC. The following instructions, … … 200 230 fa_IR locales as well—they have been installed only for GCC and 201 231 Gettext tests to pass, and the <command>watch</command> program (part of 202 the Procps package) does not work properly in them. Various attempts to232 the Procps-ng package) does not work properly in them. Various attempts to 203 233 circumvent these restrictions are documented in internationalization-related 204 234 hints.</para> … … 206 236 </sect2> 207 237 208 <sect2 id="conf- eglibc" role="configuration">209 <title>Configuring EGLIBC</title>210 211 <indexterm zone="conf- eglibc">238 <sect2 id="conf-glibc" role="configuration"> 239 <title>Configuring GLIBC</title> 240 241 <indexterm zone="conf-glibc"> 212 242 <primary sortas="e-/etc/nsswitch.conf">/etc/nsswitch.conf</primary> 213 243 </indexterm> 214 244 215 <indexterm zone="conf- eglibc">245 <indexterm zone="conf-glibc"> 216 246 <primary sortas="e-/etc/localtime">/etc/localtime</primary> 217 247 </indexterm> 218 248 219 249 <para>The <filename>/etc/nsswitch.conf</filename> file needs to be created 220 because, although EGLIBC provides defaults when this file is missing or221 corrupt, the EGLIBC defaults do not work well in a networked environment.250 because, although GLIBC provides defaults when this file is missing or 251 corrupt, the GLIBC defaults do not work well in a networked environment. 222 252 The time zone also needs to be configured.</para> 223 253 … … 250 280 251 281 for tz in etcetera southamerica northamerica europe africa antarctica \ 252 asia australasia backward pacificnew solar87 solar88 solar89\282 asia australasia backward pacificnew \ 253 283 systemv; do 254 284 zic -L /dev/null -d $ZONEINFO -y "sh yearistype.sh" ${tz} … … 309 339 <filename>/etc/localtime</filename> file by running:</para> 310 340 311 <screen><userinput>cp -v --remove-destination/usr/share/zoneinfo/<replaceable>[xxx]</replaceable> \341 <screen><userinput>cp -v /usr/share/zoneinfo/<replaceable>[xxx]</replaceable> \ 312 342 /etc/localtime</userinput></screen> 313 343 314 344 <para>Replace <replaceable>[xxx]</replaceable> with the name of the time zone 315 345 that <command>tzselect</command> provided (e.g., Canada/Eastern).</para> 316 317 <variablelist>318 <title>The meaning of the cp option:</title>319 320 <varlistentry>321 <term><parameter>--remove-destination</parameter></term>322 <listitem>323 <para>This is needed to force removal of the already existing symbolic324 link. The reason for copying the file instead of using a symlink is to325 cover the situation where <filename class="directory">/usr</filename>326 is on a separate partition. This could be important when booted into327 single user mode.</para>328 </listitem>329 </varlistentry>330 </variablelist>331 346 332 347 </sect2> … … 367 382 </sect2> 368 383 369 <sect2 id="contents- eglibc" role="content">370 <title>Contents of EGLIBC</title>384 <sect2 id="contents-glibc" role="content"> 385 <title>Contents of GLIBC</title> 371 386 372 387 <segmentedlist> … … 378 393 <seg>catchsegv, gencat, getconf, getent, iconv, iconvconfig, ldconfig, 379 394 ldd, lddlibc4, locale, localedef, makedb, mtrace, nscd, 380 pcprofiledump, pldd, rpcgen, sln, s prof, tzselect, xtrace,zdump,381 and zic</seg>395 pcprofiledump, pldd, rpcgen, sln, sotruss, sprof, tzselect, xtrace, 396 zdump, and zic</seg> 382 397 <seg>ld.so, libBrokenLocale.[a,so], libSegFault.so, libanl.[a,so], 383 lib bsd-compat.a, libc.[a,so], libc_nonshared.a, libcidn.[a,so],384 lib crypt.[a,so], libdl.[a,so], libg.a, libieee.a, libm.[a,so],385 libm check.a, libmemusage.so, libnsl.a, libnss_compat.so, libnss_dns.so,398 libc.[a,so], libc_nonshared.a, libcidn.[a,so], libcrypt.[a,so], 399 libdl.[a,so], libg.a, libieee.a, libm.[a,so], libmcheck.a, 400 libmemusage.so, libnsl.a, libnss_compat.so, libnss_dns.so, 386 401 libnss_files.so, libnss_hesiod.so, libnss_nis.so, libnss_nisplus.so, 387 402 libpcprofile.so, libpthread.[a,so], libpthread_nonshared.a, … … 394 409 /usr/include/netrom, /usr/include/netrose, /usr/include/nfs, 395 410 /usr/include/protocols, /usr/include/rpc, /usr/include/rpcsvc, 396 /usr/include/sys, /usr/lib/gconv, /usr/lib/eglibc, /usr/lib/locale, 397 /usr/share/i18n, /usr/share/zoneinfo, /var/cache/ldconfig</seg> 411 /usr/include/sys, /usr/lib/audit, /usr/lib/gconv, /usr/lib/glibc, /usr/lib/locale, 412 /usr/share/i18n, /usr/share/zoneinfo, /var/cache/ldconfig, and 413 /var/cache/nscd</seg> 398 414 </seglistitem> 399 415 </segmentedlist> … … 409 425 <para>Can be used to create a stack trace when a program 410 426 terminates with a segmentation fault</para> 411 <indexterm zone="ch-system- eglibc catchsegv">427 <indexterm zone="ch-system-glibc catchsegv"> 412 428 <primary sortas="b-catchsegv">catchsegv</primary> 413 429 </indexterm> … … 419 435 <listitem> 420 436 <para>Generates message catalogues</para> 421 <indexterm zone="ch-system- eglibc gencat">437 <indexterm zone="ch-system-glibc gencat"> 422 438 <primary sortas="b-gencat">gencat</primary> 423 439 </indexterm> … … 430 446 <para>Displays the system configuration values for file system specific 431 447 variables</para> 432 <indexterm zone="ch-system- eglibc getconf">448 <indexterm zone="ch-system-glibc getconf"> 433 449 <primary sortas="b-getconf">getconf</primary> 434 450 </indexterm> … … 440 456 <listitem> 441 457 <para>Gets entries from an administrative database</para> 442 <indexterm zone="ch-system- eglibc getent">458 <indexterm zone="ch-system-glibc getent"> 443 459 <primary sortas="b-getent">getent</primary> 444 460 </indexterm> … … 450 466 <listitem> 451 467 <para>Performs character set conversion</para> 452 <indexterm zone="ch-system- eglibc iconv">468 <indexterm zone="ch-system-glibc iconv"> 453 469 <primary sortas="b-iconv">iconv</primary> 454 470 </indexterm> … … 461 477 <para>Creates fastloading <command>iconv</command> module configuration 462 478 files</para> 463 <indexterm zone="ch-system- eglibc iconvconfig">479 <indexterm zone="ch-system-glibc iconvconfig"> 464 480 <primary sortas="b-iconvconfig">iconvconfig</primary> 465 481 </indexterm> … … 471 487 <listitem> 472 488 <para>Configures the dynamic linker runtime bindings</para> 473 <indexterm zone="ch-system- eglibc ldconfig">489 <indexterm zone="ch-system-glibc ldconfig"> 474 490 <primary sortas="b-ldconfig">ldconfig</primary> 475 491 </indexterm> … … 482 498 <para>Reports which shared libraries are required 483 499 by each given program or shared library</para> 484 <indexterm zone="ch-system- eglibc ldd">500 <indexterm zone="ch-system-glibc ldd"> 485 501 <primary sortas="b-ldd">ldd</primary> 486 502 </indexterm> … … 492 508 <listitem> 493 509 <para>Assists <command>ldd</command> with object files</para> 494 <indexterm zone="ch-system- eglibc lddlibc4">510 <indexterm zone="ch-system-glibc lddlibc4"> 495 511 <primary sortas="b-lddlibc4">lddlibc4</primary> 496 512 </indexterm> … … 503 519 <para>Tells the compiler to enable or disable the use of POSIX locales 504 520 for built-in operations</para> 505 <indexterm zone="ch-system- eglibc locale">521 <indexterm zone="ch-system-glibc locale"> 506 522 <primary sortas="b-locale">locale</primary> 507 523 </indexterm> … … 513 529 <listitem> 514 530 <para>Compiles locale specifications</para> 515 <indexterm zone="ch-system- eglibc localedef">531 <indexterm zone="ch-system-glibc localedef"> 516 532 <primary sortas="b-localedef">localedef</primary> 517 533 </indexterm> … … 523 539 <listitem> 524 540 <para>Creates a simple database from textual input</para> 525 <indexterm zone="ch-system- eglibc makedb">541 <indexterm zone="ch-system-glibc makedb"> 526 542 <primary sortas="b-makedb">makedb</primary> 527 543 </indexterm> … … 534 550 <para>Reads and interprets a memory trace file and 535 551 displays a summary in human-readable format</para> 536 <indexterm zone="ch-system- eglibc mtrace">552 <indexterm zone="ch-system-glibc mtrace"> 537 553 <primary sortas="b-mtrace">mtrace</primary> 538 554 </indexterm> … … 545 561 <para>A daemon that provides a cache for the most common name 546 562 service requests</para> 547 <indexterm zone="ch-system- eglibc nscd">563 <indexterm zone="ch-system-glibc nscd"> 548 564 <primary sortas="b-nscd">nscd</primary> 549 565 </indexterm> … … 555 571 <listitem> 556 572 <para>Dumps information generated by PC profiling</para> 557 <indexterm zone="ch-system- eglibc pcprofiledump">573 <indexterm zone="ch-system-glibc pcprofiledump"> 558 574 <primary sortas="b-pcprofiledump">pcprofiledump</primary> 559 575 </indexterm> … … 565 581 <listitem> 566 582 <para>Lists dynamic shared objects used by running processes</para> 567 <indexterm zone="ch-system- eglibc pldd">583 <indexterm zone="ch-system-glibc pldd"> 568 584 <primary sortas="b-pldd">pldd</primary> 569 585 </indexterm> … … 576 592 <para>Generates C code to implement the Remote Procecure Call (RPC) 577 593 protocol</para> 578 <indexterm zone="ch-system- eglibc rpcgen">594 <indexterm zone="ch-system-glibc rpcgen"> 579 595 <primary sortas="b-rpcgen">rpcgen</primary> 580 596 </indexterm> … … 586 602 <listitem> 587 603 <para>A statically linked program that creates symbolic links</para> 588 <indexterm zone="ch-system- eglibc sln">604 <indexterm zone="ch-system-glibc sln"> 589 605 <primary sortas="b-sln">sln</primary> 590 606 </indexterm> … … 596 612 <listitem> 597 613 <para>Traces shared library procedure calls of a specified command</para> 598 <indexterm zone="ch-system- eglibc sotruss">614 <indexterm zone="ch-system-glibc sotruss"> 599 615 <primary sortas="b-sotruss">sotruss</primary> 600 616 </indexterm> … … 606 622 <listitem> 607 623 <para>Reads and displays shared object profiling data</para> 608 <indexterm zone="ch-system- eglibc sprof">624 <indexterm zone="ch-system-glibc sprof"> 609 625 <primary sortas="b-sprof">sprof</primary> 610 626 </indexterm> … … 617 633 <para>Asks the user about the location of the 618 634 system and reports the corresponding time zone description</para> 619 <indexterm zone="ch-system- eglibc tzselect">635 <indexterm zone="ch-system-glibc tzselect"> 620 636 <primary sortas="b-tzselect">tzselect</primary> 621 637 </indexterm> … … 628 644 <para>Traces the execution of a program by 629 645 printing the currently executed function</para> 630 <indexterm zone="ch-system- eglibc xtrace">646 <indexterm zone="ch-system-glibc xtrace"> 631 647 <primary sortas="b-xtrace">xtrace</primary> 632 648 </indexterm> … … 638 654 <listitem> 639 655 <para>The time zone dumper</para> 640 <indexterm zone="ch-system- eglibc zdump">656 <indexterm zone="ch-system-glibc zdump"> 641 657 <primary sortas="b-zdump">zdump</primary> 642 658 </indexterm> … … 648 664 <listitem> 649 665 <para>The time zone compiler</para> 650 <indexterm zone="ch-system- eglibc zic">666 <indexterm zone="ch-system-glibc zic"> 651 667 <primary sortas="b-zic">zic</primary> 652 668 </indexterm> … … 658 674 <listitem> 659 675 <para>The helper program for shared library executables</para> 660 <indexterm zone="ch-system- eglibc ld.so">676 <indexterm zone="ch-system-glibc ld.so"> 661 677 <primary sortas="c-ld.so">ld.so</primary> 662 678 </indexterm> … … 668 684 <listitem> 669 685 <para>Used by programs, such as Mozilla, to solve broken locales</para> 670 <indexterm zone="ch-system- eglibc libBrokenLocale">686 <indexterm zone="ch-system-glibc libBrokenLocale"> 671 687 <primary sortas="c-libBrokenLocale">libBrokenLocale</primary> 672 688 </indexterm> … … 678 694 <listitem> 679 695 <para>The segmentation fault signal handler</para> 680 <indexterm zone="ch-system- eglibc libSegFault">696 <indexterm zone="ch-system-glibc libSegFault"> 681 697 <primary sortas="c-libSegFault">libSegFault</primary> 682 698 </indexterm> … … 688 704 <listitem> 689 705 <para>An asynchronous name lookup library</para> 690 <indexterm zone="ch-system- eglibc libanl">706 <indexterm zone="ch-system-glibc libanl"> 691 707 <primary sortas="c-libanl">libanl</primary> 692 </indexterm>693 </listitem>694 </varlistentry>695 696 <varlistentry id="libbsd-compat">697 <term><filename class="libraryfile">libbsd-compat</filename></term>698 <listitem>699 <para>Provides the portability needed700 in order to run certain Berkey Software Distribution (BSD) programs701 under Linux</para>702 <indexterm zone="ch-system-eglibc libbsd-compat">703 <primary sortas="c-libbsd-compat">libbsd-compat</primary>704 708 </indexterm> 705 709 </listitem> … … 710 714 <listitem> 711 715 <para>The main C library</para> 712 <indexterm zone="ch-system- eglibc libc">716 <indexterm zone="ch-system-glibc libc"> 713 717 <primary sortas="c-libc">libc</primary> 714 718 </indexterm> … … 719 723 <term><filename class="libraryfile">libcidn</filename></term> 720 724 <listitem> 721 <para>Used internally by EGLIBC for handling internationalized domain725 <para>Used internally by GLIBC for handling internationalized domain 722 726 names in the <function>getaddrinfo()</function> function</para> 723 <indexterm zone="ch-system- eglibc libcidn">727 <indexterm zone="ch-system-glibc libcidn"> 724 728 <primary sortas="c-libcidn">libcidn</primary> 725 729 </indexterm> … … 731 735 <listitem> 732 736 <para>The cryptography library</para> 733 <indexterm zone="ch-system- eglibc libcrypt">737 <indexterm zone="ch-system-glibc libcrypt"> 734 738 <primary sortas="c-libcrypt">libcrypt</primary> 735 739 </indexterm> … … 741 745 <listitem> 742 746 <para>The dynamic linking interface library</para> 743 <indexterm zone="ch-system- eglibc libdl">747 <indexterm zone="ch-system-glibc libdl"> 744 748 <primary sortas="c-libdl">libdl</primary> 745 749 </indexterm> … … 751 755 <listitem> 752 756 <para>A runtime library for <command>g++</command></para> 753 <indexterm zone="ch-system- eglibc libg">757 <indexterm zone="ch-system-glibc libg"> 754 758 <primary sortas="c-libg">libg</primary> 755 759 </indexterm> … … 762 766 <para>The Institute of Electrical and Electronic Engineers (IEEE) 763 767 floating point library</para> 764 <indexterm zone="ch-system- eglibc libieee">768 <indexterm zone="ch-system-glibc libieee"> 765 769 <primary sortas="c-libieee">libieee</primary> 766 770 </indexterm> … … 772 776 <listitem> 773 777 <para>The mathematical library</para> 774 <indexterm zone="ch-system- eglibc libm">778 <indexterm zone="ch-system-glibc libm"> 775 779 <primary sortas="c-libm">libm</primary> 776 780 </indexterm> … … 782 786 <listitem> 783 787 <para>Contains code run at boot</para> 784 <indexterm zone="ch-system- eglibc libmcheck">788 <indexterm zone="ch-system-glibc libmcheck"> 785 789 <primary sortas="c-libmcheck">libmcheck</primary> 786 790 </indexterm> … … 791 795 <term><filename class="libraryfile">libmemusage</filename></term> 792 796 <listitem> 793 <para>Used by <command>memusage</command> (included in EGLIBC, but797 <para>Used by <command>memusage</command> (included in GLIBC, but 794 798 not built in a base CLFS system as it has additional dependencies) 795 799 to help collect information about the memory usage of a program</para> 796 <indexterm zone="ch-system- eglibc libmemusage">800 <indexterm zone="ch-system-glibc libmemusage"> 797 801 <primary sortas="c-libmemusage">libmemusage</primary> 798 802 </indexterm> … … 804 808 <listitem> 805 809 <para>The network services library</para> 806 <indexterm zone="ch-system- eglibc libnsl">810 <indexterm zone="ch-system-glibc libnsl"> 807 811 <primary sortas="c-libnsl">libnsl</primary> 808 812 </indexterm> … … 816 820 resolving host names, user names, group names, aliases, services, 817 821 protocols, etc.</para> 818 <indexterm zone="ch-system- eglibc libnss">822 <indexterm zone="ch-system-glibc libnss"> 819 823 <primary sortas="c-libnss">libnss</primary> 820 824 </indexterm> … … 827 831 <para>Contains profiling functions used to track the amount of CPU 828 832 time spent in specific source code lines</para> 829 <indexterm zone="ch-system- eglibc libpcprofile">833 <indexterm zone="ch-system-glibc libpcprofile"> 830 834 <primary sortas="c-libpcprofile">libpcprofile</primary> 831 835 </indexterm> … … 837 841 <listitem> 838 842 <para>The POSIX threads library</para> 839 <indexterm zone="ch-system- eglibc libpthread">843 <indexterm zone="ch-system-glibc libpthread"> 840 844 <primary sortas="c-libpthread">libpthread</primary> 841 845 </indexterm> … … 848 852 <para>Contains functions for creating, sending, and interpreting 849 853 packets to the Internet domain name servers</para> 850 <indexterm zone="ch-system- eglibc libresolv">854 <indexterm zone="ch-system-glibc libresolv"> 851 855 <primary sortas="c-libresolv">libresolv</primary> 852 856 </indexterm> … … 858 862 <listitem> 859 863 <para>Contains functions providing miscellaneous RPC services</para> 860 <indexterm zone="ch-system- eglibc librpcsvc">864 <indexterm zone="ch-system-glibc librpcsvc"> 861 865 <primary sortas="c-librpcsvc">librpcsvc</primary> 862 866 </indexterm> … … 869 873 <para>Contains functions providing most of the interfaces specified by 870 874 the POSIX.1b Realtime Extension</para> 871 <indexterm zone="ch-system- eglibc librt">875 <indexterm zone="ch-system-glibc librt"> 872 876 <primary sortas="c-librt">librt</primary> 873 877 </indexterm> … … 880 884 <para>Contains functions useful for 881 885 building debuggers for multi-threaded programs</para> 882 <indexterm zone="ch-system- eglibc libthread_db">886 <indexterm zone="ch-system-glibc libthread_db"> 883 887 <primary sortas="c-libthread_db">libthread_db</primary> 884 888 </indexterm> … … 891 895 <para>Contains code for <quote>standard</quote> functions used in 892 896 many different Unix utilities</para> 893 <indexterm zone="ch-system- eglibc libutil">897 <indexterm zone="ch-system-glibc libutil"> 894 898 <primary sortas="c-libutil">libutil</primary> 895 899 </indexterm> -
BOOK/final-system/common/gmp.xml
r88ef769 r03e6a40 70 70 <screen os="i"><userinput>make install</userinput></screen> 71 71 72 <para os="j">Install the documentation:</para> 73 74 <screen os="k"><userinput>mkdir -v /usr/share/doc/gmp-&gmp-version; 75 cp -v doc/{isa_abi_headache,configuration} doc/*.html \ 76 /usr/share/doc/gmp-&gmp-version;</userinput></screen> 77 72 78 </sect2> 73 79 … … 77 83 <segmentedlist> 78 84 <segtitle>Installed libraries</segtitle> 85 <segtitle>Installed directory</segtitle> 79 86 80 87 <seglistitem> 81 <seg>libgmp.[a,so], libgmpxx.[a,so], libmp.[a,so]</seg> 88 <seg>libgmp.[a,so], libgmpxx.[a,so]</seg> 89 <seg>/usr/share/doc/gmp-&gmp-version;</seg> 82 90 </seglistitem> 83 91 </segmentedlist> … … 108 116 </varlistentry> 109 117 110 <varlistentry id="libmp">111 <term><filename class="libraryfile">libmp</filename></term>112 <listitem>113 <para>Contains the Berkeley MP compatibility library.</para>114 <indexterm zone="ch-system-gmp libmp">115 <primary sortas="c-libmp">libmp</primary>116 </indexterm>117 </listitem>118 </varlistentry>119 120 118 </variablelist> 121 119 -
BOOK/final-system/common/iana-etc.xml
r88ef769 r03e6a40 26 26 <title>Installation of Iana-Etc</title> 27 27 28 <note os="p1"> 29 <para>This package has the option of downloading updated data when internet access is available. If /etc/resolv.conf has a nameserver entry and internet access is available at this step, then apply the IANA get patch and get the updated data: 30 <screen><command>patch -Np1 -i ../&iana-etc-get_fix-patch;</command> 31 <command>make get</command></screen> 32 Do not apply the following patch.</para> 33 </note> 28 <para os="p2">The following patch updates the services and protocol xml files:</para> 34 29 35 <para os="p2">The following patch updates the services and protocol files:</para> 36 37 <screen os="p3"><userinput>patch -Np1 -i ../&iana-etc-numbers_update-patch;</userinput></screen> 30 <screen os="p3"><userinput>xzcat ../&iana-etc-numbers_update-patch; | patch -Np1 -i -</userinput></screen> 38 31 39 32 <para os="a">The following command converts the raw data provided by IANA into -
BOOK/final-system/common/iproute2.xml
r88ef769 r03e6a40 36 36 <screen os="s2"><userinput>sed -i '/^TARGETS/s@arpd@@g' misc/Makefile 37 37 sed -i '/ARPD/d' Makefile 38 rm -v man/man8/arpd.8</userinput></screen>38 sed -i 's/arpd.8//' man/man8/Makefile</userinput></screen> 39 39 40 40 <para os="f1">Remove unused libnl headers:</para> … … 44 44 <para os="a">Compile the package:</para> 45 45 46 <screen os="b"><userinput>make DESTDIR= DOCDIR=/usr/share/doc/iproute2 \ 47 MANDIR=/usr/share/man</userinput></screen> 46 <screen os="b"><userinput>make DESTDIR= MANDIR=/usr/share/man</userinput></screen> 48 47 49 48 <variablelist os="c"> … … 60 59 </listitem> 61 60 </varlistentry> 62 63 <varlistentry>64 <term><parameter>DOCDIR=/usr/share/doc/iproute2 MANDIR=/usr/share/man</parameter></term>65 <listitem>66 <para>The DESTDIR=/ parameter would cause documentation to be67 installed into <filename class="directory">/share/doc</filename> and68 <filename class="directory">/share/man</filename>. These options69 ensure the docs are installed to the correct locations.</para>70 </listitem>71 </varlistentry>72 61 </variablelist> 73 62 … … 76 65 <para os="e">Install the package:</para> 77 66 78 <screen os="f"><userinput>make DESTDIR= DOCDIR=/usr/share/doc/iproute2 \67 <screen os="f"><userinput>make DESTDIR= DOCDIR=/usr/share/doc/iproute2-&iproute2-version; \ 79 68 MANDIR=/usr/share/man install</userinput></screen> 80 69 … … 92 81 nstat, routef, routel, rtacct, rtmon, rtpr, rtstat (link to lnstat), ss, 93 82 and tc</seg> 94 <seg>/etc/iproute2, /lib/tc, /usr/lib/tc, /usr/share/doc/iproute2</seg> 83 <seg>/etc/iproute2, /usr/lib/tc, 84 /usr/share/doc/iproute2-&iproute2-version;</seg> 95 85 </seglistitem> 96 86 </segmentedlist> … … 183 173 delete the multicast routing</para> 184 174 185 <para><command>ip monitor</command> allows users to contin ously monitor175 <para><command>ip monitor</command> allows users to continuously monitor 186 176 the state of devices, addresses and routes</para> 187 177 <indexterm zone="ch-system-iproute2 ip"> -
BOOK/final-system/common/iputils.xml
r88ef769 r03e6a40 32 32 <para os="a">Compile the package:</para> 33 33 34 <screen os="b"><userinput>make USE_CAP=no\34 <screen os="b"><userinput>make \ 35 35 IPV4_TARGETS="tracepath ping clockdiff rdisc" \ 36 36 IPV6_TARGETS="tracepath6 traceroute6"</userinput></screen> -
BOOK/final-system/common/isl.xml
r88ef769 r03e6a40 52 52 53 53 <screen os="k"><userinput>mkdir -pv /usr/share/gdb/auto-load/usr/lib 54 mv -v /usr/lib/ *gdb.py /usr/share/gdb/auto-load/usr/lib</userinput></screen>54 mv -v /usr/lib/libisl*gdb.py /usr/share/gdb/auto-load/usr/lib</userinput></screen> 55 55 </sect2> 56 56 … … 60 60 <segmentedlist> 61 61 <segtitle>Installed libraries</segtitle> 62 <segtitle>Installed directory</segtitle> 62 63 63 64 <seglistitem> 64 65 <seg>libisl.[a,so]</seg> 66 <seg>/usr/include/isl</seg> 65 67 </seglistitem> 66 68 </segmentedlist> -
BOOK/final-system/common/kbd.xml
r88ef769 r03e6a40 41 41 <screen os="g"><userinput>make install</userinput></screen> 42 42 43 <para os="h">Some of the programs from Kbd are used by scripts 44 in the CLFS-Bootscripts package. As <filename 45 class="directory">/usr</filename> may not be available during the early 46 stages of booting, those binaries need to be on the root partition:</para> 47 48 <screen os="i"><userinput>mv -v /usr/bin/{kbd_mode,dumpkeys,loadkeys,openvt,setfont,setvtrgb} /bin</userinput></screen> 43 <para os="h">Some of the programs from Kbd are used by Systemd to 44 initialize the system, those binaries need to be on the root 45 partition:</para> 46 47 <screen os="i"><userinput>mv -v /usr/bin/{loadkeys,setfont} /bin</userinput></screen> 48 49 <para os="j">Install the documentation:</para> 50 51 <screen os="k"><userinput>mkdir -v /usr/share/doc/kbd-&kbd-version; 52 cp -R -v docs/doc/* /usr/share/doc/kbd-&kbd-version;</userinput></screen> 49 53 50 54 </sect2> … … 65 69 unicode_start, and unicode_stop</seg> 66 70 <seg>/usr/share/consolefonts, /usr/share/consoletrans, 71 /usr/share/doc/kbd-&kbd-version;, 67 72 /usr/share/keymaps, /usr/share/unimaps</seg> 68 73 </seglistitem> -
BOOK/final-system/common/kmod.xml
r88ef769 r03e6a40 31 31 <screen os="b"><userinput>./configure --prefix=/usr \ 32 32 --bindir=/bin --sysconfdir=/etc \ 33 --with-rootlibdir=/lib --disable-manpages\33 --with-rootlibdir=/lib \ 34 34 --with-zlib --with-xz</userinput></screen> 35 35 … … 70 70 71 71 <screen os="j"><userinput>ln -sfv kmod /bin/lsmod 72 ln -sfv ../bin/kmod /sbin/depmod 73 ln -sfv ../bin/kmod /sbin/insmod 74 ln -sfv ../bin/kmod /sbin/modprobe 75 ln -sfv ../bin/kmod /sbin/modinfo 76 ln -sfv ../bin/kmod /sbin/rmmod</userinput></screen> 72 for tool in depmod insmod modprobe modinfo rmmod; do 73 ln -sfv ../bin/kmod /sbin/${tool} 74 done</userinput></screen> 77 75 78 76 </sect2> … … 85 83 86 84 <seglistitem> 87 <seg>depmod, insmod, kmod, lsmod, modinfo, modprobe, and 88 rmmod</seg> 85 <seg>depmod (link to kmod), insmod (link to kmod), kmod, 86 lsmod (link to kmod), modinfo (link to kmod), modprobe (link to kmod), 87 and rmmod (link to kmod) </seg> 89 88 </seglistitem> 90 89 </segmentedlist> -
BOOK/final-system/common/man-pages.xml
r88ef769 r03e6a40 18 18 <title/> 19 19 20 <para>The Man-pages package contains over 1,200 man pages.</para>20 <para>The Man-pages package contains over 2,100 man pages.</para> 21 21 22 22 </sect2> -
BOOK/final-system/common/man.xml
r88ef769 r03e6a40 50 50 <para os="h">Prepare Man for compilation:</para> 51 51 52 <screen os="i"><userinput>./configure -confdir=/etc </userinput></screen>52 <screen os="i"><userinput>./configure -confdir=/etc -mandir=/usr/share/man</userinput></screen> 53 53 54 54 <variablelist os="j"> -
BOOK/final-system/common/mpfr.xml
r88ef769 r03e6a40 34 34 <screen os="b"><userinput>CC="gcc -isystem /usr/include" \ 35 35 LDFLAGS="-Wl,-rpath-link,/usr/lib:/lib" \ 36 ./configure --prefix=/usr -- enable-shared\37 --with-gmp=/usr</userinput></screen>36 ./configure --prefix=/usr --with-gmp=/usr \ 37 --docdir=/usr/share/doc/mpfr-&mpfr-version;</userinput></screen> 38 38 39 39 <para os="c">Compile the package:</para> … … 65 65 <seglistitem> 66 66 <seg>libmpfr.[a,so]</seg> 67 <seg>/usr/share/doc/mpfr </seg>67 <seg>/usr/share/doc/mpfr-&mpfr-version;</seg> 68 68 </seglistitem> 69 69 </segmentedlist> -
BOOK/final-system/common/ncurses.xml
r88ef769 r03e6a40 57 57 <para os="j">Create symlinks in <filename class="directory">/usr/lib:</filename></para> 58 58 59 <screen os="k"><userinput>rm -v /lib/lib{ncursesw,menuw,panelw,formw}.so 60 ln -svf ../../lib/libncursesw.so.5 /usr/lib/libncursesw.so 61 ln -svf ../../lib/libmenuw.so.5 /usr/lib/libmenuw.so 62 ln -svf ../../lib/libpanelw.so.5 /usr/lib/libpanelw.so 63 ln -svf ../../lib/libformw.so.5 /usr/lib/libformw.so</userinput></screen> 59 <screen os="k"><userinput> 60 ln -svf ../../lib/$(readlink /lib/libncursesw.so) /usr/lib/libncursesw.so 61 ln -svf ../../lib/$(readlink /lib/libmenuw.so) /usr/lib/libmenuw.so 62 ln -svf ../../lib/$(readlink /lib/libpanelw.so) /usr/lib/libpanelw.so 63 ln -svf ../../lib/$(readlink /lib/libformw.so) /usr/lib/libformw.so 64 rm -v /lib/lib{ncursesw,menuw,panelw,formw}.so 65 </userinput></screen> 64 66 65 67 <para os="l">Now we will make our Ncurses compatible for older and non-widec compatible programs … … 74 76 ln -sfv libncurses++w.a /usr/lib/libncurses++.a 75 77 ln -sfv ncursesw5-config /usr/bin/ncurses5-config</userinput></screen> 76 77 <para os="n">Now we will create a symlink for /usr/share/terminfo in78 <filename class="directory">/usr/lib</filename> for compatibility:</para>79 80 <screen os="o"><userinput>ln -sfv ../share/terminfo /usr/lib/terminfo</userinput></screen>81 78 82 79 </sect2> -
BOOK/final-system/common/perl.xml
r88ef769 r03e6a40 37 37 <note os="a00"> 38 38 <para>If you are following the boot method you will need to enable the 39 loopback device as well as set a hostname for some of the tests:</para> 40 41 <screen os="a01"><userinput remap="test">ip link set lo up 42 hostname clfs</userinput></screen> 39 loopback device:</para> 40 41 <screen><userinput remap="test">ip link set lo up</userinput></screen> 43 42 </note> 44 43 45 <para os="a0 2">Before starting to configure, create a basic44 <para os="a01">Before starting to configure, create a basic 46 45 <filename>/etc/hosts</filename> file which will be referenced by one 47 46 of Perl's configuration files as well as used by the testsuite:</para> 48 47 49 <screen os="a0 3"><userinput remap="test">echo "127.0.0.1 localhost $(hostname)" > /etc/hosts</userinput></screen>48 <screen os="a02"><userinput remap="test">echo "127.0.0.1 localhost $(hostname)" > /etc/hosts</userinput></screen> 50 49 51 50 <para os="a">To have full control over the way Perl is set up, you can … … 67 66 <term><parameter>-Dpager="/bin/less -isR"</parameter></term> 68 67 <listitem> 69 <para>This corrects an error in the way that <command>perldoc</command> 70 invokes the <command>less</command> program.</para> 68 <para>This ensures that <command>perldoc</command> invokes the 69 <command>less</command> program rather than <command>more</command>, 70 as Less has not yet been installed.</para> 71 71 </listitem> 72 72 </varlistentry> -
BOOK/final-system/common/pkg-config-lite.xml
r88ef769 r03e6a40 28 28 <para os="a">Prepare Pkg-config-lite for compilation:</para> 29 29 30 <screen os="b"><userinput>./configure --prefix=/usr </userinput></screen>30 <screen os="b"><userinput>./configure --prefix=/usr --docdir=/usr/share/doc/pkg-config-&pkg-config-lite-version;</userinput></screen> 31 31 32 32 <para os="c">Compile the package:</para> … … 53 53 <seglistitem> 54 54 <seg>pkg-config</seg> 55 <seg>/usr/share/doc/pkg-config </seg>55 <seg>/usr/share/doc/pkg-config-&pkg-config-lite-version;</seg> 56 56 </seglistitem> 57 57 </segmentedlist> -
BOOK/final-system/common/pkgmgt.xml
r88ef769 r03e6a40 219 219 commercial distributions. Examples of package managers that follow this 220 220 approach are RPM (which, incidentally, is required by the <ulink 221 url="http:// lsbbook.gforge.freestandards.org/package.html#RPM">Linux221 url="http://refspecs.linuxfoundation.org/lsb.shtml">Linux 222 222 Standard Base Specification</ulink>), pkg-utils, Debian's apt, and 223 223 Gentoo's Portage system. A hint describing how to adopt this style of -
BOOK/final-system/common/procps-ng.xml
r88ef769 r03e6a40 6 6 ]> 7 7 8 <sect1 id="ch-system-procps " role="wrap">9 <?dbhtml filename="procps .html"?>10 11 <title>Procps- &procps-version;</title>12 13 <indexterm zone="ch-system-procps ">14 <primary sortas="a-Procps ">Procps</primary>8 <sect1 id="ch-system-procps-ng" role="wrap"> 9 <?dbhtml filename="procps-ng.html"?> 10 11 <title>Procps-ng-&procps-ng-version;</title> 12 13 <indexterm zone="ch-system-procps-ng"> 14 <primary sortas="a-Procps-ng">Procps-ng</primary> 15 15 </indexterm> 16 16 … … 18 18 <title/> 19 19 20 <para>The Procps package contains programs for monitoring20 <para>The Procps-ng package contains programs for monitoring 21 21 processes.</para> 22 22 … … 24 24 25 25 <sect2 role="installation"> 26 <title>Installation of Procps</title> 27 28 <para os="p1">The following patch adds process control group support to 29 ps:</para> 30 31 <screen os="p2"><userinput>patch -Np1 -i ../&procps-ps_cgroup-patch;</userinput></screen> 32 33 <para os="p3">The following patch fixes an issue where some procps utils 34 print an error on the screen if the monitor isn't running at 60Hz:</para> 35 36 <screen os="p4"><userinput>patch -Np1 -i ../&procps-fix_HZ_errors-patch;</userinput></screen> 37 38 <para os="s1">The following fixes an issue with Make 3.82:</para> 39 40 <screen os="s2"><userinput>sed -i -r '/^-include/s/\*(.*)/proc\1 ps\1/' Makefile</userinput></screen> 41 42 <para os="a">Compile the package:</para> 43 44 <screen os="b"><userinput>make</userinput></screen> 45 46 <para os="c">This package does not come with a test suite.</para> 47 48 <para os="d">Install the package:</para> 49 50 <screen os="e"><userinput>make SKIP='/bin/kill /usr/share/man/man1/kill.1' install</userinput></screen> 26 <title>Installation of Procps-ng</title> 27 28 <para os="a">Prepare procps-ng for compilation:</para> 29 30 <screen os="b"><userinput>./configure --prefix=/usr --exec-prefix= \ 31 --libdir=/usr/lib --docdir=/usr/share/doc/procps-ng-&procps-ng-version; \ 32 --disable-kill</userinput></screen> 33 34 <variablelist os="c"> 35 <title>The meaning of the configure options:</title> 36 <varlistentry> 37 <term><parameter>--disable-kill</parameter></term> 38 <listitem> 39 <para>This switch disables building the kill command that 40 was installed in the util-linux package.</para> 41 </listitem> 42 </varlistentry> 43 </variablelist> 44 45 <para os="d">Compile the package:</para> 46 47 <screen os="e"><userinput>make</userinput></screen> 48 49 <note os="note1"> 50 <para>When using the boot method, two tests will fail if the hostname is 51 not set:</para> 52 53 <screen><userinput remap="test">hostname clfs</userinput></screen> 54 </note> 55 56 <para os="f">Remove the test which fails when scripting does not use a tty 57 device. Run the following commands:</para> 58 59 <screen os="g"><userinput remap="test">sed -i -r 's|(pmap_initname)\\\$|\1|' testsuite/pmap.test/pmap.exp 60 make check</userinput></screen> 61 62 <para os="h">Install the package:</para> 63 64 <screen os="i"><userinput>make install</userinput></screen> 65 66 <para os="j">Move essential files to a location that can be found if <filename class="directory">/usr</filename> is not mounted.</para> 67 68 <screen os="k"><userinput>mv -v /usr/bin/pidof /bin 69 mv -v /usr/lib/libprocps.so.* /lib 70 ln -sfv ../../lib/$(readlink /usr/lib/libprocps.so) /usr/lib/libprocps.so</userinput></screen> 51 71 52 72 </sect2> 53 73 54 <sect2 id="contents-procps " role="content">55 <title>Contents of Procps </title>74 <sect2 id="contents-procps-ng" role="content"> 75 <title>Contents of Procps-ng</title> 56 76 57 77 <segmentedlist> 58 78 <segtitle>Installed programs</segtitle> 59 79 <segtitle>Installed library</segtitle> 80 <segtitle>Installed directories</segtitle> 60 81 61 82 <seglistitem> 62 <seg>free, pgrep, pkill, pmap, ps, pwdx, skill, slabtop, snice, sysctl, 63 tload, top, uptime, vmstat, w, and watch</seg> 64 <seg>libproc.so</seg> 83 <seg>free, pgrep, pidof, pkill, pmap, ps, pwdx, slabtop, sysctl, tload, 84 top, uptime, vmstat, w, and watch</seg> 85 <seg>libprocps.{a,so}</seg> 86 <seg>/usr/include/proc, /usr/share/doc/procps-ng-&procps-ng-version;</seg> 65 87 </seglistitem> 66 88 </segmentedlist> … … 76 98 <para>Reports the amount of free and used memory (both physical and 77 99 swap memory) in the system</para> 78 <indexterm zone="ch-system-procps free">100 <indexterm zone="ch-system-procps-ng free"> 79 101 <primary sortas="b-free">free</primary> 80 102 </indexterm> … … 86 108 <listitem> 87 109 <para>Looks up processes based on their name and other attributes</para> 88 <indexterm zone="ch-system-procps pgrep">110 <indexterm zone="ch-system-procps-ng pgrep"> 89 111 <primary sortas="b-pgrep">pgrep</primary> 112 </indexterm> 113 </listitem> 114 </varlistentry> 115 116 <varlistentry id="pidof"> 117 <term><command>pidof</command></term> 118 <listitem> 119 <para>Looks up processes based on their name and other attributes</para> 120 <indexterm zone="ch-system-procps-ng pidof"> 121 <primary sortas="b-pidof">pidof</primary> 90 122 </indexterm> 91 123 </listitem> … … 96 128 <listitem> 97 129 <para>Signals processes based on their name and other attributes</para> 98 <indexterm zone="ch-system-procps pkill">130 <indexterm zone="ch-system-procps-ng pkill"> 99 131 <primary sortas="b-pkill">pkill</primary> 100 132 </indexterm> … … 106 138 <listitem> 107 139 <para>Reports the memory map of the given process</para> 108 <indexterm zone="ch-system-procps pmap">140 <indexterm zone="ch-system-procps-ng pmap"> 109 141 <primary sortas="b-pmap">pmap</primary> 110 142 </indexterm> … … 116 148 <listitem> 117 149 <para>Lists the current running processes</para> 118 <indexterm zone="ch-system-procps ps">150 <indexterm zone="ch-system-procps-ng ps"> 119 151 <primary sortas="b-ps">ps</primary> 120 152 </indexterm> … … 126 158 <listitem> 127 159 <para>Reports the current working directory of a process</para> 128 <indexterm zone="ch-system-procps pwdx">160 <indexterm zone="ch-system-procps-ng pwdx"> 129 161 <primary sortas="b-pwdx">pwdx</primary> 130 </indexterm>131 </listitem>132 </varlistentry>133 134 <varlistentry id="skill">135 <term><command>skill</command></term>136 <listitem>137 <para>Sends signals to processes matching the given criteria</para>138 <indexterm zone="ch-system-procps skill">139 <primary sortas="b-skill">skill</primary>140 162 </indexterm> 141 163 </listitem> … … 146 168 <listitem> 147 169 <para>Displays detailed kernel slab cache information in real time</para> 148 <indexterm zone="ch-system-procps slabtop">170 <indexterm zone="ch-system-procps-ng slabtop"> 149 171 <primary sortas="b-slabtop">slabtop</primary> 150 172 </indexterm> … … 152 174 </varlistentry> 153 175 154 <varlistentry id="snice">155 <term><command>snice</command></term>156 <listitem>157 <para>Changes the scheduling priority of processes matching the given158 criteria</para>159 <indexterm zone="ch-system-procps snice">160 <primary sortas="b-snice">snice</primary>161 </indexterm>162 </listitem>163 </varlistentry>164 176 165 177 <varlistentry id="sysctl"> … … 167 179 <listitem> 168 180 <para>Modifies kernel parameters at run time</para> 169 <indexterm zone="ch-system-procps sysctl">181 <indexterm zone="ch-system-procps-ng sysctl"> 170 182 <primary sortas="b-sysctl">sysctl</primary> 171 183 </indexterm> … … 177 189 <listitem> 178 190 <para>Prints a graph of the current system load average</para> 179 <indexterm zone="ch-system-procps tload">191 <indexterm zone="ch-system-procps-ng tload"> 180 192 <primary sortas="b-tload">tload</primary> 181 193 </indexterm> … … 188 200 <para>Displays a list of the most CPU intensive processes; it 189 201 provides an ongoing look at processor activity in real time</para> 190 <indexterm zone="ch-system-procps top">202 <indexterm zone="ch-system-procps-ng top"> 191 203 <primary sortas="b-top">top</primary> 192 204 </indexterm> … … 199 211 <para>Reports how long the system has been running, how many users are 200 212 logged on, and the system load averages</para> 201 <indexterm zone="ch-system-procps uptime">213 <indexterm zone="ch-system-procps-ng uptime"> 202 214 <primary sortas="b-uptime">uptime</primary> 203 215 </indexterm> … … 211 223 processes, memory, paging, block Input/Output (IO), traps, and CPU 212 224 activity</para> 213 <indexterm zone="ch-system-procps vmstat">225 <indexterm zone="ch-system-procps-ng vmstat"> 214 226 <primary sortas="b-vmstat">vmstat</primary> 215 227 </indexterm> … … 222 234 <para>Shows which users are currently logged on, where, and since 223 235 when</para> 224 <indexterm zone="ch-system-procps w">236 <indexterm zone="ch-system-procps-ng w"> 225 237 <primary sortas="b-w">w</primary> 226 238 </indexterm> … … 234 246 screen-full of its output; this allows a user to watch the output 235 247 change over time</para> 236 <indexterm zone="ch-system-procps watch">248 <indexterm zone="ch-system-procps-ng watch"> 237 249 <primary sortas="b-watch">watch</primary> 238 250 </indexterm> … … 240 252 </varlistentry> 241 253 242 <varlistentry id="libproc ">243 <term><filename class="libraryfile">libproc </filename></term>254 <varlistentry id="libprocps"> 255 <term><filename class="libraryfile">libprocps</filename></term> 244 256 <listitem> 245 257 <para>Contains the functions used by most programs in this 246 258 package</para> 247 <indexterm zone="ch-system-procps libproc">248 <primary sortas="c-libproc ">libproc</primary>259 <indexterm zone="ch-system-procps-ng libprocps"> 260 <primary sortas="c-libprocps">libprocps</primary> 249 261 </indexterm> 250 262 </listitem> -
BOOK/final-system/common/psmisc.xml
r88ef769 r03e6a40 61 61 62 62 <screen os="j"><userinput>mv -v /bin/pstree* /usr/bin</userinput></screen> 63 64 <para os="k">By default, Psmisc's <command>pidof</command> program is not installed.65 This usually is not a problem because it is installed later in the Sysvinit66 package, which provides a better <command>pidof</command> program. If67 Sysvinit will not be used for a particular system, complete the installation68 of Psmisc by creating the following symlink:</para>69 70 <screen os="l" role="nodump"><userinput>ln -sv killall /bin/pidof</userinput></screen>71 63 72 64 </sect2> -
BOOK/final-system/common/readline.xml
r88ef769 r03e6a40 43 43 <para os="f">Install the package:</para> 44 44 45 <screen os="g"><userinput>make install</userinput></screen>45 <screen os="g"><userinput>make htmldir=/usr/share/doc/readline-&readline-version; install</userinput></screen> 46 46 47 <para os="h"> Install the documentation:</para>47 <para os="h">Now move the static libraries to a more appropriate location:</para> 48 48 49 <screen os="i"><userinput>m ake install-doc</userinput></screen>49 <screen os="i"><userinput>mv -v /lib/lib{readline,history}.a /usr/lib</userinput></screen> 50 50 51 <para os="j">N ow move the static libraries to a more appropriate location:</para>51 <para os="j">Next, relink the dynamic libraries into <filename class="directory">/usr/lib</filename> and remove the <filename class="extension">.so</filename> files in <filename class="directory">/lib</filename>.</para> 52 52 53 <screen os="k"><userinput>mv -v /lib/lib{readline,history}.a /usr/lib</userinput></screen> 54 55 <para os="l">Next, remove the <filename class="extension">.so</filename> 56 files in <filename class="directory">/lib</filename> and relink them into 57 <filename class="directory">/usr/lib</filename>.</para> 58 59 <screen os="m"><userinput>rm -v /lib/lib{readline,history}.so 60 ln -svf ../../lib/libreadline.so.&readline-version2; /usr/lib/libreadline.so 61 ln -svf ../../lib/libhistory.so.&readline-version2; /usr/lib/libhistory.so</userinput></screen> 53 <screen os="k"><userinput>ln -svf ../../lib/$(readlink /lib/libreadline.so) /usr/lib/libreadline.so 54 ln -svf ../../lib/$(readlink /lib/libhistory.so) /usr/lib/libhistory.so 55 rm -v /lib/lib{readline,history}.so</userinput></screen> 62 56 63 57 </sect2> … … 72 66 <seglistitem> 73 67 <seg>libhistory.[a,so], and libreadline.[a,so]</seg> 74 <seg>/usr/include/readline, /usr/share/ readline</seg>68 <seg>/usr/include/readline, /usr/share/doc/readline-&readline-version;, /usr/share/readline</seg> 75 69 </seglistitem> 76 70 </segmentedlist> -
BOOK/final-system/common/sed.xml
r88ef769 r03e6a40 27 27 <para os="a">Prepare Sed for compilation:</para> 28 28 29 <screen os="b"><userinput>./configure --prefix=/usr --bindir=/bin</userinput></screen> 29 <screen os="b"><userinput>./configure --prefix=/usr --bindir=/bin \ 30 --docdir=/usr/share/doc/sed-&sed-version;</userinput></screen> 30 31 31 32 <para os="c">Compile the package:</para> … … 60 61 <seglistitem> 61 62 <seg>sed</seg> 62 <seg>/usr/share/doc/sed </seg>63 <seg>/usr/share/doc/sed-&sed-version;</seg> 63 64 </seglistitem> 64 65 </segmentedlist> -
BOOK/final-system/common/shadow.xml
r88ef769 r03e6a40 33 33 command below.</para> 34 34 </note> 35 36 35 37 36 <para os="b">Disable the installation of the <command>groups</command> and … … 60 59 </variablelist> 61 60 62 63 61 <para os="h">Compile the package:</para> 64 62 … … 154 152 155 153 <seglistitem> 156 <seg>chage, chfn, ch passwd, chgpasswd, chsh, expiry, faillog, gpasswd,154 <seg>chage, chfn, chgpasswd, chpasswd, chsh, expiry, faillog, gpasswd, 157 155 groupadd, groupdel, groupmems, groupmod, grpck, grpconv, grpunconv, 158 156 lastlog, login, logoutd, newgrp, newusers, passwd, pwck, -
BOOK/final-system/common/tar.xml
r88ef769 r03e6a40 51 51 <screen os="i"><userinput>perl tarman > /usr/share/man/man1/tar.1</userinput></screen> 52 52 53 <para os="j">Install the documentation:</para> 54 55 <screen os="k"><userinput>make -C doc install-html docdir=/usr/share/doc/tar-&tar-version;</userinput></screen> 56 53 57 </sect2> 54 58 … … 58 62 <segmentedlist> 59 63 <segtitle>Installed programs</segtitle> 64 <segtitle>Installed directory</segtitle> 60 65 61 66 <seglistitem> 62 67 <seg>rmt and tar</seg> 68 <seg>/usr/share/doc/tar-&tar-version;</seg> 63 69 </seglistitem> 64 70 </segmentedlist> -
BOOK/final-system/common/temp-perl.xml
r88ef769 r03e6a40 63 63 <screen os="j"><userinput>make install</userinput></screen> 64 64 65 <para os="k">Finally, create a necessary symlink:</para>66 67 <screen os="l"><userinput>ln -sfv /tools/bin/perl /usr/bin</userinput></screen>68 69 65 </sect2> 70 66 -
BOOK/final-system/common/util-linux.xml
r88ef769 r03e6a40 42 42 <title>Installation of Util-linux</title> 43 43 44 <note os="n"> 45 <para><command>findmnt</command>, and <command>lsblk</command> can 46 utilize <filename class="libraryfile">libudev</filename> for WWN and serial 47 number information. If this is desired, rebuild Util-linux after 48 <xref linkend="ch-system-systemd"/></para> 49 </note> 50 44 51 <para os="a">Prepare Util-linux for compilation:</para> 45 52 46 <screen os="b"><userinput>./configure --enable-write </userinput></screen>53 <screen os="b"><userinput>./configure --enable-write --docdir=/usr/share/doc/util-linux-&util-linux-version;</userinput></screen> 47 54 48 55 <variablelist os="c"> … … 63 70 <screen os="e"><userinput>make</userinput></screen> 64 71 65 <para os="dummy1">Create two <systemitem class="groupname">dummy</systemitem> groups and a <systemitem class="username">dummy</systemitem> user to be used during Util-linux and Coreutils test suites:</para>66 67 <screen os="dummy2"><userinput remap="test">echo "dummy1:x:1000:" >> /etc/group68 echo "dummy2:x:1001:dummy" >> /etc/group69 echo "dummy:x:1000:1000::/root:/bin/bash" >> /etc/passwd</userinput></screen>70 71 72 <para os="f">To test the results, issue:</para> 72 73 73 <screen os="f2"><userinput remap="test">chown -Rv dummy . &&74 su dummy -s /bin/bash -c "PATH=$PATH make -k check"</userinput></screen>74 <screen os="f2"><userinput remap="test">chown -Rv nobody . && 75 su nobody -s /bin/bash -c "PATH=$PATH make -k check"</userinput></screen> 75 76 76 77 <para os="g">Install the package:</para> 77 78 78 79 <screen os="h"><userinput>make install</userinput></screen> 79 80 <para os="i">Move the <command>logger</command> binary to81 <filename class="directory">/bin</filename> as it is needed by the82 CLFS-Bootscripts package:</para>83 84 <screen os="j"><userinput>mv -v /usr/bin/logger /bin</userinput></screen>85 80 86 81 </sect2> … … 109 104 <seg>libblkid.[a,so], libmount.[a,so], and libuuid.[a,so]</seg> 110 105 <seg>/usr/include/blkid, /usr/include/libmount, /usr/include/uuid, 111 /usr/share/doc/util-linux/getopt, /var/lib/hwclock</seg> 106 /usr/share/bash-completion, 107 /usr/share/doc/util-linux-&util-linux-version;/getopt, 108 /var/lib/hwclock</seg> 112 109 </seglistitem> 113 110 </segmentedlist> … … 270 267 <indexterm zone="ch-system-util-linux cytune"> 271 268 <primary sortas="b-cytune">cytune</primary> 272 </indexterm>273 </listitem>274 </varlistentry>275 276 <varlistentry id="ddate">277 <term><command>ddate</command></term>278 <listitem>279 <para>Gives the Discordian date or converts the given Gregorian date280 to a Discordian one</para>281 <indexterm zone="ch-system-util-linux ddate">282 <primary sortas="b-ddate">ddate</primary>283 269 </indexterm> 284 270 </listitem> … … 598 584 <term><command>lscpu</command></term> 599 585 <listitem> 600 <para>Prints CPU architec hture information</para>586 <para>Prints CPU architecture information</para> 601 587 <indexterm zone="ch-system-util-linux lscpu"> 602 588 <primary sortas="b-lscpu">lscpu</primary> -
BOOK/final-system/common/vim.xml
r88ef769 r03e6a40 50 50 --prefix=/usr --enable-multibyte</userinput></screen> 51 51 52 <variablelist os="f">53 <title>The meaning of the configure options:</title>54 55 <varlistentry>56 <term><parameter>--enable-multibyte</parameter></term>57 <listitem>58 <para>This optional but highly recommended switch enables support59 for editing files in multibyte character encodings. This is needed60 if using a locale with a multibyte character set. This switch is61 also helpful to be able to edit text files initially created in62 Linux distributions like Fedora that use UTF-8 as a default63 character set.</para>64 </listitem>65 </varlistentry>66 67 </variablelist>68 69 52 <para os="g">Compile the package:</para> 70 53 … … 81 64 <para os="j">Install the package:</para> 82 65 83 <screen os="k"><userinput>make install</userinput></screen>66 <screen os="k"><userinput>make HELPSUBLOC=/usr/share/doc/vim-&vim-version; install</userinput></screen> 84 67 85 68 <para os="l">Many users are accustomed to using <command>vi</command> … … 92 75 <screen os="m"><userinput>ln -sv vim /usr/bin/vi</userinput></screen> 93 76 94 <para os="n">By default, Vim's documentation is installed in 95 <filename class="directory">/usr/share/vim</filename>. The following symlink 96 allows the documentation to be accessed via 97 <filename class="directory">/usr/share/doc/vim-&vim-version;</filename>, making 98 it consistent with the location of documentation for other packages:</para> 99 100 <screen os="o"><userinput>ln -sv ../vim/vim&vim-version2;/doc /usr/share/doc/vim-&vim-version;</userinput></screen> 101 102 <para os="p">If an X Window System is going to be installed on the CLFS 77 <para os="n">If an X Window System is going to be installed on the CLFS 103 78 system, you may want to recompile Vim after installing X. Vim 104 79 comes with a GUI version of the editor that requires X and some … … 166 141 <segmentedlist> 167 142 <segtitle>Installed programs</segtitle> 168 <segtitle>Installed director y</segtitle>143 <segtitle>Installed directories</segtitle> 169 144 170 145 <seglistitem> … … 173 148 tcltags, vi (link to vim), view (link to vim), vim, vim132, vim2html.pl, 174 149 vimdiff (link to vim), vimm, vimspell.sh, vimtutor, and xxd</seg> 175 <seg>/usr/share/vim </seg>150 <seg>/usr/share/vim, /usr/share/doc/vim-&vim-version;</seg> 176 151 </seglistitem> 177 152 </segmentedlist> -
BOOK/final-system/common/xz.xml
r88ef769 r03e6a40 9 9 <?dbhtml filename="xz.html"?> 10 10 11 <title>XZ -Utils-&xz-version;</title>11 <title>XZ Utils-&xz-version;</title> 12 12 13 13 <indexterm zone="ch-system-xz"> 14 <primary sortas="a-XZ -Utils">XZ-Utils</primary>14 <primary sortas="a-XZ Utils">XZ Utils</primary> 15 15 </indexterm> 16 16 … … 18 18 <title/> 19 19 20 <para>The XZ -Utils package contains programs for compressing and21 decompressing files. Compressing text files with <command>XZ -Utils</command>20 <para>The XZ Utils package contains programs for compressing and 21 decompressing files. Compressing text files with <command>XZ Utils</command> 22 22 yields a much better compression percentage than with the traditional 23 23 <command>gzip</command>.</para> … … 26 26 27 27 <sect2 role="installation"> 28 <title>Installation of XZ -Utils</title>29 30 <para os="a">Prepare XZ -Utils for compilation:</para>31 32 <screen os="b"><userinput>./configure --prefix=/usr </userinput></screen>28 <title>Installation of XZ Utils</title> 29 30 <para os="a">Prepare XZ Utils for compilation:</para> 31 32 <screen os="b"><userinput>./configure --prefix=/usr --docdir=/usr/share/doc/xz-&xz-version;</userinput></screen> 33 33 34 34 <para os="c">Compile the package:</para> … … 53 53 54 54 <screen os="k"><userinput>mv -v /usr/lib/liblzma.so.* /lib 55 ln -s vf ../../lib/liblzma.so.&xz-version;/usr/lib/liblzma.so</userinput></screen>55 ln -sfv ../../lib/$(readlink /usr/lib/liblzma.so) /usr/lib/liblzma.so</userinput></screen> 56 56 57 57 </sect2> 58 58 59 59 <sect2 id="contents-xz" role="content"> 60 <title>Contents of XZ -Utils</title>60 <title>Contents of XZ Utils</title> 61 61 62 62 <segmentedlist> … … 74 74 and xzmore</seg> 75 75 <seg>liblzma.[a,so]</seg> 76 <seg>/usr/include/lzma, /usr/share/doc/xz </seg>76 <seg>/usr/include/lzma, /usr/share/doc/xz-&xz-version;</seg> 77 77 </seglistitem> 78 78 </segmentedlist> -
BOOK/final-system/common/zlib.xml
r88ef769 r03e6a40 52 52 53 53 <screen os="i"><userinput>mv -v /usr/lib/libz.so.* /lib 54 ln -s vf ../../lib/libz.so.1/usr/lib/libz.so</userinput></screen>54 ln -sfv ../../lib/$(readlink /usr/lib/libz.so) /usr/lib/libz.so</userinput></screen> 55 55 56 56 </sect2>
Note:
See TracChangeset
for help on using the changeset viewer.