- Timestamp:
- 02/04/2006 01:32:00 PM (19 years ago)
- Children:
- 0a78553
- Parents:
- 9e58b5a0
- Location:
- chapter06
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter06/gawk.xml
r9e58b5a0 rc310ddd 1 1 <?xml version="1.0" encoding="ISO-8859-1"?> 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" 3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 3 4 <!ENTITY % general-entities SYSTEM "../general.ent"> 4 5 %general-entities; 5 6 ]> 7 6 8 <sect1 id="ch-system-gawk" role="wrap"> 7 <title>Gawk-&gawk-version;</title> 8 <?dbhtml filename="gawk.html"?> 9 <?dbhtml filename="gawk.html"?> 9 10 10 <indexterm zone="ch-system-gawk"><primary sortas="a-Gawk">Gawk</primary></indexterm>11 <title>Gawk-&gawk-version;</title> 11 12 12 <sect2 role="package"><title/> 13 <para>The Gawk package contains programs for manipulating text files.</para> 13 <indexterm zone="ch-system-gawk"> 14 <primary sortas="a-Gawk">Gawk</primary> 15 </indexterm> 14 16 15 <segmentedlist> 16 <segtitle>&buildtime;</segtitle> 17 <segtitle>&diskspace;</segtitle> 18 <seglistitem><seg>0.2 SBU</seg><seg>16.4 MB</seg></seglistitem> 19 </segmentedlist> 17 <sect2 role="package"> 18 <title/> 20 19 21 <segmentedlist> 22 <segtitle>&dependencies;</segtitle> 23 <seglistitem><seg>Bash, Binutils, Coreutils, 24 Diffutils, GCC, Gettext, Glibc, Grep, Make, and Sed</seg></seglistitem> 25 </segmentedlist> 26 </sect2> 20 <para>The Gawk package contains programs for manipulating text files.</para> 27 21 28 <sect2 role="installation"> 29 <title>Installation of Gawk</title> 22 <segmentedlist> 23 <segtitle>&buildtime;</segtitle> 24 <segtitle>&diskspace;</segtitle> 30 25 31 <para>Under some circumstances, Gawk-&gawk-version; attempts to free a chunk 32 of memory that was not allocated. This bug is fixed by the following patch:</para> 26 <seglistitem> 27 <seg>0.2 SBU</seg> 28 <seg>16.4 MB</seg> 29 </seglistitem> 30 </segmentedlist> 31 32 <segmentedlist> 33 <segtitle>&dependencies;</segtitle> 34 35 <seglistitem> 36 <seg>Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, 37 Grep, Make, and Sed</seg> 38 </seglistitem> 39 </segmentedlist> 40 41 </sect2> 42 43 <sect2 role="installation"> 44 <title>Installation of Gawk</title> 45 46 <para>Under some circumstances, Gawk-&gawk-version; attempts to free a 47 chunk of memory that was not allocated. This bug is fixed by the following 48 patch:</para> 33 49 34 50 <screen><userinput>patch -Np1 -i ../&gawk-segfault-patch;</userinput></screen> 35 51 36 <para>Prepare Gawk for compilation:</para>52 <para>Prepare Gawk for compilation:</para> 37 53 38 54 <screen><userinput>./configure --prefix=/usr --libexecdir=/usr/lib</userinput></screen> 39 55 40 <para>Due to a bug in the <command>configure</command> script, Gawk fails41 to detect certain aspects of locale support in Glibc. This 42 bug leads to, e.g., Gettext testsuite failures. Work around this issue43 by appending themissing macro definitions to <filename>config.h</filename>:</para>56 <para>Due to a bug in the <command>configure</command> script, Gawk fails 57 to detect certain aspects of locale support in Glibc. This bug leads to, 58 e.g., Gettext testsuite failures. Work around this issue by appending the 59 missing macro definitions to <filename>config.h</filename>:</para> 44 60 45 61 <screen><userinput>cat >>config.h <<"EOF" … … 48 64 EOF</userinput></screen> 49 65 50 <para>Compile the package:</para>66 <para>Compile the package:</para> 51 67 52 68 <screen><userinput>make</userinput></screen> 53 69 54 <para>To test the results, issue:55 <userinput>make check</userinput>.</para>70 <para>To test the results, issue: 71 <userinput>make check</userinput>.</para> 56 72 57 <para>Install the package:</para>73 <para>Install the package:</para> 58 74 59 75 <screen><userinput>make install</userinput></screen> 60 76 61 </sect2>77 </sect2> 62 78 79 <sect2 id="contents-gawk" role="content"> 80 <title>Contents of Gawk</title> 63 81 64 <sect2 id="contents-gawk" role="content"><title>Contents of Gawk</title> 82 <segmentedlist> 83 <segtitle>Installed programs</segtitle> 65 84 66 <segmentedlist>67 <segtitle>Installed programs</segtitle> 68 <seglistitem><seg>awk (link to gawk), gawk, gawk-&gawk-version;, grcat, igawk, 69 pgawk, pgawk-&gawk-version;, and pwcat</seg></seglistitem>70 </segmentedlist>85 <seglistitem> 86 <seg>awk (link to gawk), gawk, gawk-&gawk-version;, grcat, igawk, pgawk, 87 pgawk-&gawk-version;, and pwcat</seg> 88 </seglistitem> 89 </segmentedlist> 71 90 72 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> 73 <?dbfo list-presentation="list"?> 74 <?dbhtml list-presentation="table"?> 91 <variablelist> 92 <bridgehead renderas="sect3">Short Descriptions</bridgehead> 93 <?dbfo list-presentation="list"?> 94 <?dbhtml list-presentation="table"?> 75 95 76 <varlistentry id="awk"> 77 <term><command>awk</command></term> 78 <listitem> 79 <para>A link to <command>gawk</command></para> 80 <indexterm zone="ch-system-gawk awk"><primary sortas="b-awk">awk</primary></indexterm> 81 </listitem> 82 </varlistentry> 96 <varlistentry id="awk"> 97 <term><command>awk</command></term> 98 <listitem> 99 <para>A link to <command>gawk</command></para> 100 <indexterm zone="ch-system-gawk awk"> 101 <primary sortas="b-awk">awk</primary> 102 </indexterm> 103 </listitem> 104 </varlistentry> 83 105 84 <varlistentry id="gawk"> 85 <term><command>gawk</command></term> 86 <listitem> 87 <para>A program for manipulating text files; it is the GNU 88 implementation of <command>awk</command></para> 89 <indexterm zone="ch-system-gawk gawk"><primary sortas="b-gawk">gawk</primary></indexterm> 90 </listitem> 91 </varlistentry> 106 <varlistentry id="gawk"> 107 <term><command>gawk</command></term> 108 <listitem> 109 <para>A program for manipulating text files; it is the GNU 110 implementation of <command>awk</command></para> 111 <indexterm zone="ch-system-gawk gawk"> 112 <primary sortas="b-gawk">gawk</primary> 113 </indexterm> 114 </listitem> 115 </varlistentry> 92 116 93 <varlistentry id="gawk-version"> 94 <term><command>gawk-&gawk-version;</command></term> 95 <listitem> 96 <para>A hard link to <command>gawk</command></para> 97 <indexterm zone="ch-system-gawk gawk-version"><primary sortas="b-gawk-&gawk-version;">gawk-&gawk-version;</primary></indexterm> 98 </listitem> 99 </varlistentry> 117 <varlistentry id="gawk-version"> 118 <term><command>gawk-&gawk-version;</command></term> 119 <listitem> 120 <para>A hard link to <command>gawk</command></para> 121 <indexterm zone="ch-system-gawk gawk-version"> 122 <primary sortas="b-gawk-&gawk-version;">gawk-&gawk-version;</primary> 123 </indexterm> 124 </listitem> 125 </varlistentry> 100 126 101 <varlistentry id="grcat"> 102 <term><command>grcat</command></term> 103 <listitem> 104 <para>Dumps the group database <filename>/etc/group</filename></para> 105 <indexterm zone="ch-system-gawk grcat"><primary sortas="b-grcat">grcat</primary></indexterm> 106 </listitem> 107 </varlistentry> 127 <varlistentry id="grcat"> 128 <term><command>grcat</command></term> 129 <listitem> 130 <para>Dumps the group database <filename>/etc/group</filename></para> 131 <indexterm zone="ch-system-gawk grcat"> 132 <primary sortas="b-grcat">grcat</primary> 133 </indexterm> 134 </listitem> 135 </varlistentry> 108 136 109 <varlistentry id="igawk"> 110 <term><command>igawk</command></term> 111 <listitem> 112 <para>Gives <command>gawk</command> the ability to include files</para> 113 <indexterm zone="ch-system-gawk igawk"><primary sortas="b-igawk">igawk</primary></indexterm> 114 </listitem> 115 </varlistentry> 137 <varlistentry id="igawk"> 138 <term><command>igawk</command></term> 139 <listitem> 140 <para>Gives <command>gawk</command> the ability to include files</para> 141 <indexterm zone="ch-system-gawk igawk"> 142 <primary sortas="b-igawk">igawk</primary> 143 </indexterm> 144 </listitem> 145 </varlistentry> 116 146 117 <varlistentry id="pgawk"> 118 <term><command>pgawk</command></term> 119 <listitem> 120 <para>The profiling version of <command>gawk</command></para> 121 <indexterm zone="ch-system-gawk pgawk"><primary sortas="b-pgawk">pgawk</primary></indexterm> 122 </listitem> 123 </varlistentry> 147 <varlistentry id="pgawk"> 148 <term><command>pgawk</command></term> 149 <listitem> 150 <para>The profiling version of <command>gawk</command></para> 151 <indexterm zone="ch-system-gawk pgawk"> 152 <primary sortas="b-pgawk">pgawk</primary> 153 </indexterm> 154 </listitem> 155 </varlistentry> 124 156 125 <varlistentry id="pgawk-version"> 126 <term><command>pgawk-&gawk-version;</command></term> 127 <listitem> 128 <para>Hard link to <command>pgawk</command></para> 129 <indexterm zone="ch-system-gawk pgawk-version"><primary sortas="b-pgawk-&gawk-version;">pgawk-&gawk-version;</primary></indexterm> 130 </listitem> 131 </varlistentry> 157 <varlistentry id="pgawk-version"> 158 <term><command>pgawk-&gawk-version;</command></term> 159 <listitem> 160 <para>Hard link to <command>pgawk</command></para> 161 <indexterm zone="ch-system-gawk pgawk-version"> 162 <primary sortas="b-pgawk-&gawk-version;">pgawk-&gawk-version;</primary> 163 </indexterm> 164 </listitem> 165 </varlistentry> 132 166 133 <varlistentry id="pwcat"> 134 <term><command>pwcat</command></term> 135 <listitem> 136 <para>Dumps the password database <filename>/etc/passwd</filename></para> 137 <indexterm zone="ch-system-gawk pwcat"><primary sortas="b-pwcat">pwcat</primary></indexterm> 138 </listitem> 139 </varlistentry> 140 </variablelist> 167 <varlistentry id="pwcat"> 168 <term><command>pwcat</command></term> 169 <listitem> 170 <para>Dumps the password database <filename>/etc/passwd</filename></para> 171 <indexterm zone="ch-system-gawk pwcat"> 172 <primary sortas="b-pwcat">pwcat</primary> 173 </indexterm> 174 </listitem> 175 </varlistentry> 141 176 142 </sect2> 177 </variablelist> 178 179 </sect2> 143 180 144 181 </sect1> 145 -
chapter06/gcc.xml
r9e58b5a0 rc310ddd 1 1 <?xml version="1.0" encoding="ISO-8859-1"?> 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" 3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 3 4 <!ENTITY % general-entities SYSTEM "../general.ent"> 4 5 %general-entities; 5 6 ]> 7 6 8 <sect1 id="ch-system-gcc" role="wrap"> 7 <title>GCC-&gcc-version;</title> 8 <?dbhtml filename="gcc.html"?> 9 10 <indexterm zone="ch-system-gcc"><primary sortas="a-GCC">GCC</primary></indexterm> 11 12 <sect2 role="package"><title/> 13 <para>The GCC package contains the GNU compiler collection, which includes 14 the C and C++ compilers.</para> 15 16 <segmentedlist> 17 <segtitle>&buildtime;</segtitle> 18 <segtitle>&diskspace;</segtitle> 19 <seglistitem><seg>11.7 SBU</seg><seg>451 MB</seg></seglistitem> 20 </segmentedlist> 21 22 <segmentedlist> 23 <segtitle>&dependencies;</segtitle> 24 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, Findutils, 25 Gawk, Gettext, Glibc, Grep, Make, Perl, Sed, and Texinfo</seg></seglistitem> 26 </segmentedlist> 27 </sect2> 28 29 <sect2 role="installation"> 30 <title>Installation of GCC</title> 31 32 <para>Apply a <command>sed</command> substitution that will suppress the 33 installation of <filename class="libraryfile">libiberty.a</filename>. The 34 version of <filename class="libraryfile">libiberty.a</filename> provided by 35 Binutils will be used instead:</para> 9 <?dbhtml filename="gcc.html"?> 10 11 <title>GCC-&gcc-version;</title> 12 13 <indexterm zone="ch-system-gcc"> 14 <primary sortas="a-GCC">GCC</primary> 15 </indexterm> 16 17 <sect2 role="package"> 18 <title/> 19 20 <para>The GCC package contains the GNU compiler collection, which includes 21 the C and C++ compilers.</para> 22 23 <segmentedlist> 24 <segtitle>&buildtime;</segtitle> 25 <segtitle>&diskspace;</segtitle> 26 27 <seglistitem> 28 <seg>11.7 SBU</seg> 29 <seg>451 MB</seg> 30 </seglistitem> 31 </segmentedlist> 32 33 <segmentedlist> 34 <segtitle>&dependencies;</segtitle> 35 36 <seglistitem> 37 <seg>Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, Gettext, 38 Glibc, Grep, Make, Perl, Sed, and Texinfo</seg> 39 </seglistitem> 40 </segmentedlist> 41 42 </sect2> 43 44 <sect2 role="installation"> 45 <title>Installation of GCC</title> 46 47 <para>Apply a <command>sed</command> substitution that will suppress the 48 installation of <filename class="libraryfile">libiberty.a</filename>. The 49 version of <filename class="libraryfile">libiberty.a</filename> provided by 50 Binutils will be used instead:</para> 36 51 37 52 <screen><userinput>sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in</userinput></screen> 38 53 39 <para>The bootstrap build performed in <xref linkend="ch-tools-gcc-pass1"/>40 built GCC with the <option>-fomit-frame-pointer</option> compiler flag.41 Non-bootstrap builds omit this flag by default, so apply the following42 <command>sed</command> to use it in order to ensure consistent compiler builds. 43 </para>54 <para>The bootstrap build performed in <xref linkend="ch-tools-gcc-pass1"/> 55 built GCC with the <option>-fomit-frame-pointer</option> compiler flag. 56 Non-bootstrap builds omit this flag by default, so apply the following 57 <command>sed</command> to use it in order to ensure consistent compiler 58 builds.</para> 44 59 45 60 <screen><userinput>sed -i 's/^XCFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in</userinput></screen> 46 61 47 <para>The <command>fixincludes</command> script is known to occasionally48 erroneously attempt to "fix" the system headers installed so far.As49 the headers installed by GCC-&gcc-version; and Glibc-&glibc-version; are known50 to not require fixing, issue the following command to prevent the51 <command>fixincludes</command> script from running:</para>62 <para>The <command>fixincludes</command> script is known to occasionally 63 erroneously attempt to "fix" the system headers installed so far. As 64 the headers installed by GCC-&gcc-version; and Glibc-&glibc-version; are known 65 to not require fixing, issue the following command to prevent the 66 <command>fixincludes</command> script from running:</para> 52 67 53 68 <screen><userinput>sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in</userinput></screen> 54 69 55 <para>GCC provides a <command>gccbug</command> script which detects at56 compile time whether mktemp is present, and hardcodes the result in a test.57 This will cause the script to fall back to using less random names for58 temporary files. We will be installing mktemp later, so the following sed59 will simulate its presence.</para>70 <para>GCC provides a <command>gccbug</command> script which detects at 71 compile time whether mktemp is present, and hardcodes the result in a test. 72 This will cause the script to fall back to using less random names for 73 temporary files. We will be installing mktemp later, so the following sed 74 will simulate its presence.</para> 60 75 61 76 <screen>sed -i 's/@have_mktemp_command@/yes/' gcc/gccbug.in</screen> 62 77 63 <para>The GCC documentation recommends building GCC outside of the source64 directory in a dedicated build directory:</para>78 <para>The GCC documentation recommends building GCC outside of the source 79 directory in a dedicated build directory:</para> 65 80 66 81 <screen><userinput>mkdir -v ../gcc-build 67 82 cd ../gcc-build</userinput></screen> 68 83 69 <para>Prepare GCC for compilation:</para>84 <para>Prepare GCC for compilation:</para> 70 85 71 86 <screen><userinput>../gcc-&gcc-version;/configure --prefix=/usr \ … … 74 89 --enable-clocale=gnu --enable-languages=c,c++</userinput></screen> 75 90 76 <para>Compile the package:</para>91 <para>Compile the package:</para> 77 92 78 93 <screen><userinput>make</userinput></screen> 79 94 80 <important><para>In this section, the test suite for GCC is considered 81 critical. Do not skip it under any circumstance.</para></important> 82 83 <para>Test the results, but do not stop at errors:</para> 95 <important> 96 <para>In this section, the test suite for GCC is considered 97 critical. Do not skip it under any circumstance.</para> 98 </important> 99 100 <para>Test the results, but do not stop at errors:</para> 84 101 85 102 <screen><userinput>make -k check</userinput></screen> 86 103 87 <para>Some of the errors are known issues and were noted in the88 previous chapter. The test suite notes from <xref89 linkend="ch-tools-gcc-pass2" role=","/> are still relevant here. Be sure to90 refer back to them as necessary.</para>91 92 <para>Install the package:</para>104 <para>Some of the errors are known issues and were noted in the 105 previous chapter. The test suite notes from <xref 106 linkend="ch-tools-gcc-pass2" role=","/> are still relevant here. Be sure to 107 refer back to them as necessary.</para> 108 109 <para>Install the package:</para> 93 110 94 111 <screen><userinput>make install</userinput></screen> 95 112 96 <para>Some packages expect the C preprocessor to be installed in the97 <filename class="directory">/lib</filename> directory.98 To support those packages, create this symlink:</para>113 <para>Some packages expect the C preprocessor to be installed in the 114 <filename class="directory">/lib</filename> directory. 115 To support those packages, create this symlink:</para> 99 116 100 117 <screen><userinput>ln -sv ../usr/bin/cpp /lib</userinput></screen> 101 118 102 <para>Many packages use the name <command>cc</command> to call the C103 compiler. To satisfy those packages, create a symlink:</para>119 <para>Many packages use the name <command>cc</command> to call the C 120 compiler. To satisfy those packages, create a symlink:</para> 104 121 105 122 <screen><userinput>ln -sv gcc /usr/bin/cc</userinput></screen> 106 123 107 <note><para>At this point, it is strongly recommended to repeat the 108 sanity check performed earlier in this chapter. Refer back to <xref 109 linkend="ch-system-readjusting" role=","/> and repeat the check. If the results 110 are in error, then the most likely reason is that the GCC Specs patch 111 from <xref linkend="chapter-temporary-tools"/> was erroneously applied 112 here.</para></note> 113 114 </sect2> 115 116 117 <sect2 id="contents-gcc" role="content"><title>Contents of GCC</title> 118 119 <segmentedlist> 120 <segtitle>Installed programs</segtitle> 121 <segtitle>Installed libraries</segtitle> 122 <seglistitem><seg>c++, cc (link to gcc), cpp, g++, gcc, gccbug, and 123 gcov</seg> 124 <seg>libgcc.a, libgcc_eh.a, libgcc_s.so, libstdc++.[a,so], and libsupc++.a</seg></seglistitem> 125 </segmentedlist> 126 127 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> 128 <?dbfo list-presentation="list"?> 129 <?dbhtml list-presentation="table"?> 130 131 <varlistentry id="cc"> 132 <term><command>cc</command></term> 133 <listitem> 134 <para>The C compiler</para> 135 <indexterm zone="ch-system-gcc cc"><primary sortas="b-cc">cc</primary></indexterm> 136 </listitem> 137 </varlistentry> 138 139 <varlistentry id="cpp"> 140 <term><command>cpp</command></term> 141 <listitem> 142 <para>The C preprocessor; it is used by the compiler to expand the 143 #include, #define, and similar statements in the source files</para> 144 <indexterm zone="ch-system-gcc cpp"><primary sortas="b-cpp">cpp</primary></indexterm> 145 </listitem> 146 </varlistentry> 147 148 <varlistentry id="c"> 149 <term><command>c++</command></term> 150 <listitem> 151 <para>The C++ compiler</para> 152 <indexterm zone="ch-system-gcc c"><primary sortas="b-c++">c++</primary></indexterm> 153 </listitem> 154 </varlistentry> 155 156 <varlistentry id="g"> 157 <term><command>g++</command></term> 158 <listitem> 159 <para>The C++ compiler</para> 160 <indexterm zone="ch-system-gcc g"><primary sortas="b-g++">g++</primary></indexterm> 161 </listitem> 162 </varlistentry> 163 164 <varlistentry id="gcc"> 165 <term><command>gcc</command></term> 166 <listitem> 167 <para>The C compiler</para> 168 <indexterm zone="ch-system-gcc gcc"><primary sortas="b-gcc">gcc</primary></indexterm> 169 </listitem> 170 </varlistentry> 171 172 <varlistentry id="gccbug"> 173 <term><command>gccbug</command></term> 174 <listitem> 175 <para>A shell script used to help create useful bug reports</para> 176 <indexterm zone="ch-system-gcc gccbug"><primary sortas="b-gccbug">gccbug</primary></indexterm> 177 </listitem> 178 </varlistentry> 179 180 <varlistentry id="gcov"> 181 <term><command>gcov</command></term> 182 <listitem> 183 <para>A coverage testing tool; it is used to analyze programs to 184 determine where optimizations will have the most effect</para> 185 <indexterm zone="ch-system-gcc gcov"><primary sortas="b-gcov">gcov</primary></indexterm> 186 </listitem> 187 </varlistentry> 188 189 <varlistentry id="libgcc"> 190 <term><filename class="libraryfile">libgcc</filename></term> 191 <listitem> 192 <para>Contains run-time support for <command>gcc</command></para> 193 <indexterm zone="ch-system-gcc libgcc"><primary sortas="c-libgcc*">libgcc*</primary></indexterm> 194 </listitem> 195 </varlistentry> 196 197 <varlistentry id="libstdc"> 198 <term><filename class="libraryfile">libstdc++</filename></term> 199 <listitem> 200 <para>The standard C++ library</para> 201 <indexterm zone="ch-system-gcc libstdc"><primary sortas="c-libstdc++">libstdc++</primary></indexterm> 202 </listitem> 203 </varlistentry> 204 205 <varlistentry id="libsupc"> 206 <term><filename class="libraryfile">libsupc++</filename></term> 207 <listitem> 208 <para>Provides supporting routines for the C++ programming language</para> 209 <indexterm zone="ch-system-gcc libsupc"><primary sortas="c-libsupc++">libsupc++</primary></indexterm> 210 </listitem> 211 </varlistentry> 212 </variablelist> 213 214 </sect2> 124 <note> 125 <para>At this point, it is strongly recommended to repeat the sanity 126 check performed earlier in this chapter. Refer back to <xref 127 linkend="ch-system-readjusting" role=","/> and repeat the check. If 128 the results are in error, then the most likely reason is that the GCC 129 Specs patch from <xref linkend="chapter-temporary-tools"/> was 130 erroneously applied here.</para> 131 </note> 132 133 </sect2> 134 135 <sect2 id="contents-gcc" role="content"> 136 <title>Contents of GCC</title> 137 138 <segmentedlist> 139 <segtitle>Installed programs</segtitle> 140 <segtitle>Installed libraries</segtitle> 141 142 <seglistitem> 143 <seg>c++, cc (link to gcc), cpp, g++, gcc, gccbug, and gcov</seg> 144 <seg>libgcc.a, libgcc_eh.a, libgcc_s.so, libstdc++.[a,so], and 145 libsupc++.a</seg> 146 </seglistitem> 147 </segmentedlist> 148 149 <variablelist> 150 <bridgehead renderas="sect3">Short Descriptions</bridgehead> 151 <?dbfo list-presentation="list"?> 152 <?dbhtml list-presentation="table"?> 153 154 <varlistentry id="cc"> 155 <term><command>cc</command></term> 156 <listitem> 157 <para>The C compiler</para> 158 <indexterm zone="ch-system-gcc cc"> 159 <primary sortas="b-cc">cc</primary> 160 </indexterm> 161 </listitem> 162 </varlistentry> 163 164 <varlistentry id="cpp"> 165 <term><command>cpp</command></term> 166 <listitem> 167 <para>The C preprocessor; it is used by the compiler to expand the 168 #include, #define, and similar statements in the source files</para> 169 <indexterm zone="ch-system-gcc cpp"> 170 <primary sortas="b-cpp">cpp</primary> 171 </indexterm> 172 </listitem> 173 </varlistentry> 174 175 <varlistentry id="c"> 176 <term><command>c++</command></term> 177 <listitem> 178 <para>The C++ compiler</para> 179 <indexterm zone="ch-system-gcc c"> 180 <primary sortas="b-c++">c++</primary> 181 </indexterm> 182 </listitem> 183 </varlistentry> 184 185 <varlistentry id="g"> 186 <term><command>g++</command></term> 187 <listitem> 188 <para>The C++ compiler</para> 189 <indexterm zone="ch-system-gcc g"> 190 <primary sortas="b-g++">g++</primary> 191 </indexterm> 192 </listitem> 193 </varlistentry> 194 195 <varlistentry id="gcc"> 196 <term><command>gcc</command></term> 197 <listitem> 198 <para>The C compiler</para> 199 <indexterm zone="ch-system-gcc gcc"> 200 <primary sortas="b-gcc">gcc</primary> 201 </indexterm> 202 </listitem> 203 </varlistentry> 204 205 <varlistentry id="gccbug"> 206 <term><command>gccbug</command></term> 207 <listitem> 208 <para>A shell script used to help create useful bug reports</para> 209 <indexterm zone="ch-system-gcc gccbug"> 210 <primary sortas="b-gccbug">gccbug</primary> 211 </indexterm> 212 </listitem> 213 </varlistentry> 214 215 <varlistentry id="gcov"> 216 <term><command>gcov</command></term> 217 <listitem> 218 <para>A coverage testing tool; it is used to analyze programs to 219 determine where optimizations will have the most effect</para> 220 <indexterm zone="ch-system-gcc gcov"> 221 <primary sortas="b-gcov">gcov</primary> 222 </indexterm> 223 </listitem> 224 </varlistentry> 225 226 <varlistentry id="libgcc"> 227 <term><filename class="libraryfile">libgcc</filename></term> 228 <listitem> 229 <para>Contains run-time support for <command>gcc</command></para> 230 <indexterm zone="ch-system-gcc libgcc"> 231 <primary sortas="c-libgcc*">libgcc*</primary> 232 </indexterm> 233 </listitem> 234 </varlistentry> 235 236 <varlistentry id="libstdc"> 237 <term><filename class="libraryfile">libstdc++</filename></term> 238 <listitem> 239 <para>The standard C++ library</para> 240 <indexterm zone="ch-system-gcc libstdc"> 241 <primary sortas="c-libstdc++">libstdc++</primary> 242 </indexterm> 243 </listitem> 244 </varlistentry> 245 246 <varlistentry id="libsupc"> 247 <term><filename class="libraryfile">libsupc++</filename></term> 248 <listitem> 249 <para>Provides supporting routines for the C++ programming 250 language</para> 251 <indexterm zone="ch-system-gcc libsupc"> 252 <primary sortas="c-libsupc++">libsupc++</primary> 253 </indexterm> 254 </listitem> 255 </varlistentry> 256 257 </variablelist> 258 259 </sect2> 215 260 216 261 </sect1> 217 -
chapter06/gettext.xml
r9e58b5a0 rc310ddd 1 1 <?xml version="1.0" encoding="ISO-8859-1"?> 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" 3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 3 4 <!ENTITY % general-entities SYSTEM "../general.ent"> 4 5 %general-entities; 5 6 ]> 7 6 8 <sect1 id="ch-system-gettext" role="wrap"> 7 <title>Gettext-&gettext-version;</title> 8 <?dbhtml filename="gettext.html"?> 9 10 <indexterm zone="ch-system-gettext"><primary sortas="a-Gettext">Gettext</primary></indexterm> 11 12 <sect2 role="package"><title/> 13 <para>The Gettext package contains utilities for internationalization and 14 localization. These allow programs to be compiled with NLS (Native Language 15 Support), enabling them to output messages in the user's native language.</para> 16 17 <segmentedlist> 18 <segtitle>&buildtime;</segtitle> 19 <segtitle>&diskspace;</segtitle> 20 <seglistitem><seg>1.2 SBU</seg><seg>65.1 MB</seg></seglistitem> 21 </segmentedlist> 22 23 <segmentedlist> 24 <segtitle>&dependencies;</segtitle> 25 <seglistitem><seg>Bash, Binutils, Bison, Coreutils, 26 Diffutils, Gawk, GCC, Glibc, Grep, Make, and Sed</seg></seglistitem> 27 </segmentedlist> 28 </sect2> 29 30 <sect2 role="installation"> 31 <title>Installation of Gettext</title> 32 33 <para>Prepare Gettext for compilation:</para> 9 <?dbhtml filename="gettext.html"?> 10 11 <title>Gettext-&gettext-version;</title> 12 13 <indexterm zone="ch-system-gettext"> 14 <primary sortas="a-Gettext">Gettext</primary> 15 </indexterm> 16 17 <sect2 role="package"> 18 <title/> 19 20 <para>The Gettext package contains utilities for internationalization and 21 localization. These allow programs to be compiled with NLS (Native Language 22 Support), enabling them to output messages in the user's native 23 language.</para> 24 25 <segmentedlist> 26 <segtitle>&buildtime;</segtitle> 27 <segtitle>&diskspace;</segtitle> 28 29 <seglistitem> 30 <seg>1.2 SBU</seg> 31 <seg>65.1 MB</seg> 32 </seglistitem> 33 </segmentedlist> 34 35 <segmentedlist> 36 <segtitle>&dependencies;</segtitle> 37 38 <seglistitem> 39 <seg>Bash, Binutils, Bison, Coreutils, Diffutils, Gawk, GCC, Glibc, 40 Grep, Make, and Sed</seg> 41 </seglistitem> 42 </segmentedlist> 43 44 </sect2> 45 46 <sect2 role="installation"> 47 <title>Installation of Gettext</title> 48 49 <para>Prepare Gettext for compilation:</para> 34 50 35 51 <screen><userinput>./configure --prefix=/usr</userinput></screen> 36 52 37 <para>Compile the package:</para>53 <para>Compile the package:</para> 38 54 39 55 <screen><userinput>make</userinput></screen> 40 56 41 <para>To test the results, issue:42 <userinput>make check</userinput>. This takes a very long time, around 43 7 SBUs.</para>44 45 <para>Install the package:</para>57 <para>To test the results, issue: 58 <userinput>make check</userinput>. 59 This takes a very long time, around 7 SBUs.</para> 60 61 <para>Install the package:</para> 46 62 47 63 <screen><userinput>make install</userinput></screen> 48 64 49 </sect2> 50 51 52 <sect2 id="contents-gettext" role="content"><title>Contents of Gettext</title> 53 54 <segmentedlist> 55 <segtitle>Installed programs</segtitle> 56 <segtitle>Installed libraries</segtitle> 57 <seglistitem><seg>autopoint, config.charset, config.rpath, envsubst, gettext, 58 gettextize, hostname, msgattrib, msgcat, msgcmp, msgcomm, msgconv, msgen, 59 msgexec, msgfilter, msgfmt, msggrep, msginit, msgmerge, msgunfmt, msguniq, 60 ngettext, and xgettext</seg> 61 <seg>libasprintf.[a,so], libgettextlib.so, libgettextpo.[a,so], and libgettextsrc.so</seg></seglistitem> 62 </segmentedlist> 63 64 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> 65 <?dbfo list-presentation="list"?> 66 <?dbhtml list-presentation="table"?> 67 68 <varlistentry id="autopoint"> 69 <term><command>autopoint</command></term> 70 <listitem> 71 <para>Copies standard Gettext infrastructure files into a source package</para> 72 <indexterm zone="ch-system-gettext autopoint"><primary sortas="b-autopoint">autopoint</primary></indexterm> 73 </listitem> 74 </varlistentry> 75 76 <varlistentry id="config.charset"> 77 <term><command>config.charset</command></term> 78 <listitem> 79 <para>Outputs a system-dependent table of character encoding aliases</para> 80 <indexterm zone="ch-system-gettext config.charset"><primary sortas="b-config.charset">config.charset</primary></indexterm> 81 </listitem> 82 </varlistentry> 83 84 <varlistentry id="config.rpath"> 85 <term><command>config.rpath</command></term> 86 <listitem> 87 <para>Outputs a system-dependent set of variables, describing how to set the 88 runtime search path of shared libraries in an executable</para> 89 <indexterm zone="ch-system-gettext config.rpath"><primary sortas="b-config.rpath">config.rpath</primary></indexterm> 90 </listitem> 91 </varlistentry> 92 93 <varlistentry id="envsubst"> 94 <term><command>envsubst</command></term> 95 <listitem> 96 <para>Substitutes environment variables in shell format strings</para> 97 <indexterm zone="ch-system-gettext envsubst"><primary sortas="b-envsubst">envsubst</primary></indexterm> 98 </listitem> 99 </varlistentry> 100 101 <varlistentry id="gettext"> 102 <term><command>gettext</command></term> 103 <listitem> 104 <para>Translates a natural language message into the user's language 105 by looking up the translation in a message catalog</para> 106 <indexterm zone="ch-system-gettext gettext"><primary sortas="b-gettext">gettext</primary></indexterm> 107 </listitem> 108 </varlistentry> 109 110 <varlistentry id="gettextize"> 111 <term><command>gettextize</command></term> 112 <listitem> 113 <para>Copies all standard Gettext files into the given top-level 114 directory of a package to begin internationalizing it</para> 115 <indexterm zone="ch-system-gettext gettextize"><primary sortas="b-gettextize">gettextize</primary></indexterm> 116 </listitem> 117 </varlistentry> 118 119 <varlistentry id="hostname-gettext"> 120 <term><command>hostname</command></term> 121 <listitem> 122 <para>Displays a network hostname in various forms</para> 123 <indexterm zone="ch-system-gettext hostname-gettext"><primary sortas="b-hostname-gettext">hostname</primary></indexterm> 124 </listitem> 125 </varlistentry> 126 127 <varlistentry id="msgattrib"> 128 <term><command>msgattrib</command></term> 129 <listitem> 130 <para>Filters the messages of a translation catalog according to their 131 attributes and manipulates the attributes</para> 132 <indexterm zone="ch-system-gettext msgattrib"><primary sortas="b-msgattrib">msgattrib</primary></indexterm> 133 </listitem> 134 </varlistentry> 135 136 <varlistentry id="msgcat"> 137 <term><command>msgcat</command></term> 138 <listitem> 139 <para>Concatenates and merges the given <filename class="extension">.po</filename> files</para> 140 <indexterm zone="ch-system-gettext msgcat"><primary sortas="b-msgcat">msgcat</primary></indexterm> 141 </listitem> 142 </varlistentry> 143 144 <varlistentry id="msgcmp"> 145 <term><command>msgcmp</command></term> 146 <listitem> 147 <para>Compares two <filename class="extension">.po</filename> 148 files to check that both contain the same set of msgid strings</para> 149 <indexterm zone="ch-system-gettext msgcmp"><primary sortas="b-msgcmp">msgcmp</primary></indexterm> 150 </listitem> 151 </varlistentry> 152 153 <varlistentry id="msgcomm"> 154 <term><command>msgcomm</command></term> 155 <listitem> 156 <para>Finds the messages that are common to 157 to the given <filename class="extension">.po</filename> files</para> 158 <indexterm zone="ch-system-gettext msgcomm"><primary sortas="b-msgcomm">msgcomm</primary></indexterm> 159 </listitem> 160 </varlistentry> 161 162 <varlistentry id="msgconv"> 163 <term><command>msgconv</command></term> 164 <listitem> 165 <para>Converts a translation catalog to a different character encoding</para> 166 <indexterm zone="ch-system-gettext msgconv"><primary sortas="b-msgconv">msgconv</primary></indexterm> 167 </listitem> 168 </varlistentry> 169 170 <varlistentry id="msgen"> 171 <term><command>msgen</command></term> 172 <listitem> 173 <para>Creates an English translation catalog</para> 174 <indexterm zone="ch-system-gettext msgen"><primary sortas="b-msgen">msgen</primary></indexterm> 175 </listitem> 176 </varlistentry> 177 178 <varlistentry id="msgexec"> 179 <term><command>msgexec</command></term> 180 <listitem> 181 <para>Applies a command to all translations of a translation catalog</para> 182 <indexterm zone="ch-system-gettext msgexec"><primary sortas="b-msgexec">msgexec</primary></indexterm> 183 </listitem> 184 </varlistentry> 185 186 <varlistentry id="msgfilter"> 187 <term><command>msgfilter</command></term> 188 <listitem> 189 <para>Applies a filter to all translations of a translation catalog</para> 190 <indexterm zone="ch-system-gettext msgfilter"><primary sortas="b-msgfilter">msgfilter</primary></indexterm> 191 </listitem> 192 </varlistentry> 193 194 <varlistentry id="msgfmt"> 195 <term><command>msgfmt</command></term> 196 <listitem> 197 <para>Generates a binary message catalog from a translation catalog</para> 198 <indexterm zone="ch-system-gettext msgfmt"><primary sortas="b-msgfmt">msgfmt</primary></indexterm> 199 </listitem> 200 </varlistentry> 201 202 <varlistentry id="msggrep"> 203 <term><command>msggrep</command></term> 204 <listitem> 205 <para>Extracts all messages of a translation catalog that match a 206 given pattern or belong to some given source files</para> 207 <indexterm zone="ch-system-gettext msggrep"><primary sortas="b-msggrep">msggrep</primary></indexterm> 208 </listitem> 209 </varlistentry> 210 211 <varlistentry id="msginit"> 212 <term><command>msginit</command></term> 213 <listitem> 214 <para>Creates a new <filename class="extension">.po</filename> file, initializing the meta 215 information with values from the user's environment</para> 216 <indexterm zone="ch-system-gettext msginit"><primary sortas="b-msginit">msginit</primary></indexterm> 217 </listitem> 218 </varlistentry> 219 220 <varlistentry id="msgmerge"> 221 <term><command>msgmerge</command></term> 222 <listitem> 223 <para>Combines two raw translations into a single file</para> 224 <indexterm zone="ch-system-gettext msgmerge"><primary sortas="b-msgmerge">msgmerge</primary></indexterm> 225 </listitem> 226 </varlistentry> 227 228 <varlistentry id="msgunfmt"> 229 <term><command>msgunfmt</command></term> 230 <listitem> 231 <para>Decompiles a binary message catalog into raw translation text</para> 232 <indexterm zone="ch-system-gettext msgunfmt"><primary sortas="b-msgunfmt">msgunfmt</primary></indexterm> 233 </listitem> 234 </varlistentry> 235 236 <varlistentry id="msguniq"> 237 <term><command>msguniq</command></term> 238 <listitem> 239 <para>Unifies duplicate translations in a translation catalog</para> 240 <indexterm zone="ch-system-gettext msguniq"><primary sortas="b-msguniq">msguniq</primary></indexterm> 241 </listitem> 242 </varlistentry> 243 244 <varlistentry id="ngettext"> 245 <term><command>ngettext</command></term> 246 <listitem> 247 <para>Displays native language translations of a textual message whose 248 grammatical form depends on a number</para> 249 <indexterm zone="ch-system-gettext ngettext"><primary sortas="b-ngettext">ngettext</primary></indexterm> 250 </listitem> 251 </varlistentry> 252 253 <varlistentry id="xgettext"> 254 <term><command>xgettext</command></term> 255 <listitem> 256 <para>Extracts the translatable message lines from the given source 257 files to make the first translation template</para> 258 <indexterm zone="ch-system-gettext xgettext"><primary sortas="b-xgettext">xgettext</primary></indexterm> 259 </listitem> 260 </varlistentry> 261 262 <varlistentry id="libasprintf"> 263 <term><filename class="libraryfile">libasprintf</filename></term> 264 <listitem> 265 <para>defines the <emphasis>autosprintf</emphasis> class, which makes 266 C formatted output routines usable in C++ programs, for use with the 267 <emphasis><string></emphasis> strings and the 268 <emphasis><iostream></emphasis> streams</para> 269 <indexterm zone="ch-system-gettext libasprintf"><primary sortas="c-libasprintf">libasprintf</primary></indexterm> 270 </listitem> 271 </varlistentry> 272 273 <varlistentry id="libgettextlib"> 274 <term><filename class="libraryfile">libgettextlib</filename></term> 275 <listitem> 276 <para>a private library containing common routines used by the various Gettext 277 programs; these are not intended for general use</para> 278 <indexterm zone="ch-system-gettext libgettextlib"><primary sortas="c-libgettextlib">libgettextlib</primary></indexterm> 279 </listitem> 280 </varlistentry> 281 282 <varlistentry id="libgettextpo"> 283 <term><filename class="libraryfile">libgettextpo</filename></term> 284 <listitem> 285 <para>Used to write specialized programs that process <filename 286 class="extension">.po</filename> files; this library is used when the 287 standard applications shipped with Gettext (such as 288 <command>msgcomm</command>, <command>msgcmp</command>, 289 <command>msgattrib</command>, and <command>msgen</command>) will not 290 suffice</para> 291 <indexterm zone="ch-system-gettext libgettextpo"><primary sortas="c-libgettextpo">libgettextpo</primary></indexterm> 292 </listitem> 293 </varlistentry> 294 295 <varlistentry id="libgettextsrc"> 296 <term><filename class="libraryfile">libgettextsrc</filename></term> 297 <listitem> 298 <para>A private library containing common routines used by the various Gettext 299 programs; these are not intended for general use</para> 300 <indexterm zone="ch-system-gettext libgettextsrc"><primary sortas="c-libgettextsrc">libgettextsrc</primary></indexterm> 301 </listitem> 302 </varlistentry> 303 </variablelist> 304 305 </sect2> 65 </sect2> 66 67 <sect2 id="contents-gettext" role="content"> 68 <title>Contents of Gettext</title> 69 70 <segmentedlist> 71 <segtitle>Installed programs</segtitle> 72 <segtitle>Installed libraries</segtitle> 73 74 <seglistitem> 75 <seg>autopoint, config.charset, config.rpath, envsubst, gettext, 76 gettextize, hostname, msgattrib, msgcat, msgcmp, msgcomm, msgconv, msgen, 77 msgexec, msgfilter, msgfmt, msggrep, msginit, msgmerge, msgunfmt, msguniq, 78 ngettext, and xgettext</seg> 79 <seg>libasprintf.[a,so], libgettextlib.so, libgettextpo.[a,so], and 80 libgettextsrc.so</seg> 81 </seglistitem> 82 </segmentedlist> 83 84 <variablelist> 85 <bridgehead renderas="sect3">Short Descriptions</bridgehead> 86 <?dbfo list-presentation="list"?> 87 <?dbhtml list-presentation="table"?> 88 89 <varlistentry id="autopoint"> 90 <term><command>autopoint</command></term> 91 <listitem> 92 <para>Copies standard Gettext infrastructure files into a source 93 package</para> 94 <indexterm zone="ch-system-gettext autopoint"> 95 <primary sortas="b-autopoint">autopoint</primary> 96 </indexterm> 97 </listitem> 98 </varlistentry> 99 100 <varlistentry id="config.charset"> 101 <term><command>config.charset</command></term> 102 <listitem> 103 <para>Outputs a system-dependent table of character encoding 104 aliases</para> 105 <indexterm zone="ch-system-gettext config.charset"> 106 <primary sortas="b-config.charset">config.charset</primary> 107 </indexterm> 108 </listitem> 109 </varlistentry> 110 111 <varlistentry id="config.rpath"> 112 <term><command>config.rpath</command></term> 113 <listitem> 114 <para>Outputs a system-dependent set of variables, describing how 115 to set the runtime search path of shared libraries in an 116 executable</para> 117 <indexterm zone="ch-system-gettext config.rpath"> 118 <primary sortas="b-config.rpath">config.rpath</primary> 119 </indexterm> 120 </listitem> 121 </varlistentry> 122 123 <varlistentry id="envsubst"> 124 <term><command>envsubst</command></term> 125 <listitem> 126 <para>Substitutes environment variables in shell format strings</para> 127 <indexterm zone="ch-system-gettext envsubst"> 128 <primary sortas="b-envsubst">envsubst</primary> 129 </indexterm> 130 </listitem> 131 </varlistentry> 132 133 <varlistentry id="gettext"> 134 <term><command>gettext</command></term> 135 <listitem> 136 <para>Translates a natural language message into the user's language 137 by looking up the translation in a message catalog</para> 138 <indexterm zone="ch-system-gettext gettext"> 139 <primary sortas="b-gettext">gettext</primary> 140 </indexterm> 141 </listitem> 142 </varlistentry> 143 144 <varlistentry id="gettextize"> 145 <term><command>gettextize</command></term> 146 <listitem> 147 <para>Copies all standard Gettext files into the given top-level 148 directory of a package to begin internationalizing it</para> 149 <indexterm zone="ch-system-gettext gettextize"> 150 <primary sortas="b-gettextize">gettextize</primary> 151 </indexterm> 152 </listitem> 153 </varlistentry> 154 155 <varlistentry id="hostname-gettext"> 156 <term><command>hostname</command></term> 157 <listitem> 158 <para>Displays a network hostname in various forms</para> 159 <indexterm zone="ch-system-gettext hostname-gettext"> 160 <primary sortas="b-hostname-gettext">hostname</primary> 161 </indexterm> 162 </listitem> 163 </varlistentry> 164 165 <varlistentry id="msgattrib"> 166 <term><command>msgattrib</command></term> 167 <listitem> 168 <para>Filters the messages of a translation catalog according to their 169 attributes and manipulates the attributes</para> 170 <indexterm zone="ch-system-gettext msgattrib"> 171 <primary sortas="b-msgattrib">msgattrib</primary> 172 </indexterm> 173 </listitem> 174 </varlistentry> 175 176 <varlistentry id="msgcat"> 177 <term><command>msgcat</command></term> 178 <listitem> 179 <para>Concatenates and merges the given 180 <filename class="extension">.po</filename> files</para> 181 <indexterm zone="ch-system-gettext msgcat"> 182 <primary sortas="b-msgcat">msgcat</primary> 183 </indexterm> 184 </listitem> 185 </varlistentry> 186 187 <varlistentry id="msgcmp"> 188 <term><command>msgcmp</command></term> 189 <listitem> 190 <para>Compares two <filename class="extension">.po</filename> 191 files to check that both contain the same set of msgid strings</para> 192 <indexterm zone="ch-system-gettext msgcmp"> 193 <primary sortas="b-msgcmp">msgcmp</primary> 194 </indexterm> 195 </listitem> 196 </varlistentry> 197 198 <varlistentry id="msgcomm"> 199 <term><command>msgcomm</command></term> 200 <listitem> 201 <para>Finds the messages that are common to to the given 202 <filename class="extension">.po</filename> files</para> 203 <indexterm zone="ch-system-gettext msgcomm"> 204 <primary sortas="b-msgcomm">msgcomm</primary> 205 </indexterm> 206 </listitem> 207 </varlistentry> 208 209 <varlistentry id="msgconv"> 210 <term><command>msgconv</command></term> 211 <listitem> 212 <para>Converts a translation catalog to a different character 213 encoding</para> 214 <indexterm zone="ch-system-gettext msgconv"> 215 <primary sortas="b-msgconv">msgconv</primary> 216 </indexterm> 217 </listitem> 218 </varlistentry> 219 220 <varlistentry id="msgen"> 221 <term><command>msgen</command></term> 222 <listitem> 223 <para>Creates an English translation catalog</para> 224 <indexterm zone="ch-system-gettext msgen"> 225 <primary sortas="b-msgen">msgen</primary> 226 </indexterm> 227 </listitem> 228 </varlistentry> 229 230 <varlistentry id="msgexec"> 231 <term><command>msgexec</command></term> 232 <listitem> 233 <para>Applies a command to all translations of a translation 234 catalog</para> 235 <indexterm zone="ch-system-gettext msgexec"> 236 <primary sortas="b-msgexec">msgexec</primary> 237 </indexterm> 238 </listitem> 239 </varlistentry> 240 241 <varlistentry id="msgfilter"> 242 <term><command>msgfilter</command></term> 243 <listitem> 244 <para>Applies a filter to all translations of a translation 245 catalog</para> 246 <indexterm zone="ch-system-gettext msgfilter"> 247 <primary sortas="b-msgfilter">msgfilter</primary> 248 </indexterm> 249 </listitem> 250 </varlistentry> 251 252 <varlistentry id="msgfmt"> 253 <term><command>msgfmt</command></term> 254 <listitem> 255 <para>Generates a binary message catalog from a translation 256 catalog</para> 257 <indexterm zone="ch-system-gettext msgfmt"> 258 <primary sortas="b-msgfmt">msgfmt</primary> 259 </indexterm> 260 </listitem> 261 </varlistentry> 262 263 <varlistentry id="msggrep"> 264 <term><command>msggrep</command></term> 265 <listitem> 266 <para>Extracts all messages of a translation catalog that match a 267 given pattern or belong to some given source files</para> 268 <indexterm zone="ch-system-gettext msggrep"> 269 <primary sortas="b-msggrep">msggrep</primary> 270 </indexterm> 271 </listitem> 272 </varlistentry> 273 274 <varlistentry id="msginit"> 275 <term><command>msginit</command></term> 276 <listitem> 277 <para>Creates a new <filename class="extension">.po</filename> file, 278 initializing the meta information with values from the user's 279 environment</para> 280 <indexterm zone="ch-system-gettext msginit"> 281 <primary sortas="b-msginit">msginit</primary> 282 </indexterm> 283 </listitem> 284 </varlistentry> 285 286 <varlistentry id="msgmerge"> 287 <term><command>msgmerge</command></term> 288 <listitem> 289 <para>Combines two raw translations into a single file</para> 290 <indexterm zone="ch-system-gettext msgmerge"> 291 <primary sortas="b-msgmerge">msgmerge</primary> 292 </indexterm> 293 </listitem> 294 </varlistentry> 295 296 <varlistentry id="msgunfmt"> 297 <term><command>msgunfmt</command></term> 298 <listitem> 299 <para>Decompiles a binary message catalog into raw translation 300 text</para> 301 <indexterm zone="ch-system-gettext msgunfmt"> 302 <primary sortas="b-msgunfmt">msgunfmt</primary> 303 </indexterm> 304 </listitem> 305 </varlistentry> 306 307 <varlistentry id="msguniq"> 308 <term><command>msguniq</command></term> 309 <listitem> 310 <para>Unifies duplicate translations in a translation catalog</para> 311 <indexterm zone="ch-system-gettext msguniq"> 312 <primary sortas="b-msguniq">msguniq</primary> 313 </indexterm> 314 </listitem> 315 </varlistentry> 316 317 <varlistentry id="ngettext"> 318 <term><command>ngettext</command></term> 319 <listitem> 320 <para>Displays native language translations of a textual message whose 321 grammatical form depends on a number</para> 322 <indexterm zone="ch-system-gettext ngettext"> 323 <primary sortas="b-ngettext">ngettext</primary> 324 </indexterm> 325 </listitem> 326 </varlistentry> 327 328 <varlistentry id="xgettext"> 329 <term><command>xgettext</command></term> 330 <listitem> 331 <para>Extracts the translatable message lines from the given source 332 files to make the first translation template</para> 333 <indexterm zone="ch-system-gettext xgettext"> 334 <primary sortas="b-xgettext">xgettext</primary> 335 </indexterm> 336 </listitem> 337 </varlistentry> 338 339 <varlistentry id="libasprintf"> 340 <term><filename class="libraryfile">libasprintf</filename></term> 341 <listitem> 342 <para>defines the <emphasis>autosprintf</emphasis> class, which makes 343 C formatted output routines usable in C++ programs, for use with the 344 <emphasis><string></emphasis> strings and the 345 <emphasis><iostream></emphasis> streams</para> 346 <indexterm zone="ch-system-gettext libasprintf"> 347 <primary sortas="c-libasprintf">libasprintf</primary> 348 </indexterm> 349 </listitem> 350 </varlistentry> 351 352 <varlistentry id="libgettextlib"> 353 <term><filename class="libraryfile">libgettextlib</filename></term> 354 <listitem> 355 <para>a private library containing common routines used by the 356 various Gettext programs; these are not intended for general use</para> 357 <indexterm zone="ch-system-gettext libgettextlib"> 358 <primary sortas="c-libgettextlib">libgettextlib</primary> 359 </indexterm> 360 </listitem> 361 </varlistentry> 362 363 <varlistentry id="libgettextpo"> 364 <term><filename class="libraryfile">libgettextpo</filename></term> 365 <listitem> 366 <para>Used to write specialized programs that process 367 <filename class="extension">.po</filename> files; this library is 368 used when the standard applications shipped with Gettext (such as 369 <command>msgcomm</command>, <command>msgcmp</command>, 370 <command>msgattrib</command>, and <command>msgen</command>) will 371 not suffice</para> 372 <indexterm zone="ch-system-gettext libgettextpo"> 373 <primary sortas="c-libgettextpo">libgettextpo</primary> 374 </indexterm> 375 </listitem> 376 </varlistentry> 377 378 <varlistentry id="libgettextsrc"> 379 <term><filename class="libraryfile">libgettextsrc</filename></term> 380 <listitem> 381 <para>A private library containing common routines used by the 382 various Gettext programs; these are not intended for general use</para> 383 <indexterm zone="ch-system-gettext libgettextsrc"> 384 <primary sortas="c-libgettextsrc">libgettextsrc</primary> 385 </indexterm> 386 </listitem> 387 </varlistentry> 388 389 </variablelist> 390 391 </sect2> 306 392 307 393 </sect1> 308 -
chapter06/glibc.xml
r9e58b5a0 rc310ddd 1 1 <?xml version="1.0" encoding="ISO-8859-1"?> 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" 3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 3 4 <!ENTITY % general-entities SYSTEM "../general.ent"> 4 5 %general-entities; 5 6 ]> 7 6 8 <sect1 id="ch-system-glibc" role="wrap"> 7 <title>Glibc-&glibc-version;</title> 8 <?dbhtml filename="glibc.html"?> 9 10 <indexterm zone="ch-system-glibc"><primary sortas="a-Glibc">Glibc</primary></indexterm> 11 12 <sect2 role="package"><title/> 13 <para>The Glibc package contains the main C library. This library provides 14 the basic routines for allocating memory, searching directories, opening and 15 closing files, reading and writing files, string handling, pattern matching, 16 arithmetic, and so on.</para> 17 18 <segmentedlist> 19 <segtitle>&buildtime;</segtitle> 20 <segtitle>&diskspace;</segtitle> 21 <seglistitem><seg>16.7 SBU</seg><seg>500 MB</seg></seglistitem> 22 </segmentedlist> 23 24 <segmentedlist> 25 <segtitle>&dependencies;</segtitle> 26 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, 27 Gawk, GCC, Gettext, Grep, Make, Perl, Sed, and Texinfo</seg></seglistitem> 28 </segmentedlist> 29 </sect2> 30 31 <sect2 role="installation"> 32 <title>Installation of Glibc</title> 33 34 <note><para>Some packages outside of LFS suggest installing GNU libiconv in 35 order to translate data from one encoding to another. The project's home page 36 (<ulink url="http://www.gnu.org/software/libiconv/"/>) says <quote>This library 37 provides an <function>iconv()</function> implementation, for use on systems 38 which don't have one, or whose implementation cannot convert from/to Unicode. 39 </quote> Glibc provides an <function>iconv()</function> implementation and can 40 convert from/to Unicode, therefore libiconv is not required on an LFS 41 system.</para></note> 42 43 <para>The Glibc build system is self-contained and will install 44 perfectly, even though the compiler specs file and linker are still 45 pointing at <filename class="directory">/tools</filename>. The specs 46 and linker cannot be adjusted before the Glibc install because the 47 Glibc autoconf tests would give false results and defeat the goal 48 of achieving a clean build.</para> 49 50 <para>The glibc-libidn tarball adds support for internationalized 51 domain names (IDN) to Glibc. Many programs that 52 support IDN require the full libidn library (see 53 <ulink url="&blfs-root;view/svn/general/libidn.html"/>), 54 not this add-on. 55 Unpack the tarball from within the Glibc source 56 directory:</para> 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 </indexterm> 16 17 <sect2 role="package"> 18 <title/> 19 20 <para>The Glibc package contains the main C library. This library provides 21 the basic routines for allocating memory, searching directories, opening and 22 closing files, reading and writing files, string handling, pattern matching, 23 arithmetic, and so on.</para> 24 25 <segmentedlist> 26 <segtitle>&buildtime;</segtitle> 27 <segtitle>&diskspace;</segtitle> 28 29 <seglistitem> 30 <seg>16.7 SBU</seg> 31 <seg>500 MB</seg> 32 </seglistitem> 33 </segmentedlist> 34 35 <segmentedlist> 36 <segtitle>&dependencies;</segtitle> 37 38 <seglistitem> 39 <seg>Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Gettext, Grep, 40 Make, Perl, Sed, and Texinfo</seg> 41 </seglistitem> 42 </segmentedlist> 43 44 </sect2> 45 46 <sect2 role="installation"> 47 <title>Installation of Glibc</title> 48 49 <note> 50 <para>Some packages outside of LFS suggest installing GNU libiconv in 51 order to translate data from one encoding to another. The project's 52 home page (<ulink url="http://www.gnu.org/software/libiconv/"/>) says 53 <quote>This library provides an <function>iconv()</function> 54 implementation, for use on systems which don't have one, or whose 55 implementation cannot convert from/to Unicode.</quote> Glibc provides 56 an <function>iconv()</function> implementation and can convert from/to 57 Unicode, therefore libiconv is not required on an LFS system.</para> 58 </note> 59 60 <para>The Glibc build system is self-contained and will install 61 perfectly, even though the compiler specs file and linker are still 62 pointing at <filename class="directory">/tools</filename>. The specs 63 and linker cannot be adjusted before the Glibc install because the 64 Glibc autoconf tests would give false results and defeat the goal 65 of achieving a clean build.</para> 66 67 <para>The glibc-libidn tarball adds support for internationalized domain 68 names (IDN) to Glibc. Many programs that support IDN require the full 69 <filename class="libraryfile">libidn</filename> library (see 70 <ulink url="&blfs-root;view/svn/general/libidn.html"/>), not this add-on. 71 Unpack the tarball from within the Glibc source directory:</para> 57 72 58 73 <screen><userinput>tar -xf ../glibc-libidn-&glibc-version;.tar.bz2</userinput></screen> 59 74 60 <para>In the vi_VN.TCVN locale, <command>bash</command> enters an infinite loop61 at startup. It is unknown whether this is a <command>bash</command> bug or a62 Glibc problem. Disable installation of this locale in order to avoid the63 problem:</para>75 <para>In the vi_VN.TCVN locale, <command>bash</command> enters an infinite loop 76 at startup. It is unknown whether this is a <command>bash</command> bug or a 77 Glibc problem. Disable installation of this locale in order to avoid the 78 problem:</para> 64 79 65 80 <screen><userinput>sed -i '/vi_VN.TCVN/d' localedata/SUPPORTED</userinput></screen> 66 81 67 <para>When running <command>make install</command>, a script called68 <filename>test-installation.pl</filename> performs a small sanity test 69 on our newly installed Glibc. However, because our toolchain still points to the 70 <filename class="directory">/tools</filename> directory, the sanity test would 71 be carried out against the wrong Glibc. We can force the script to check the 72 Glibc we have just installed with the following:</para>82 <para>When running <command>make install</command>, a script called 83 <filename>test-installation.pl</filename> performs a small sanity test on 84 our newly installed Glibc. However, because our toolchain still points to 85 the <filename class="directory">/tools</filename> directory, the sanity 86 test would be carried out against the wrong Glibc. We can force the script 87 to check the Glibc we have just installed with the following:</para> 73 88 74 89 <screen><userinput>sed -i \ … … 76 91 scripts/test-installation.pl</userinput></screen> 77 92 78 <para>The Glibc documentation recommends building Glibc outside of the source79 directory in a dedicated build directory:</para>93 <para>The Glibc documentation recommends building Glibc outside of the source 94 directory in a dedicated build directory:</para> 80 95 81 96 <screen><userinput>mkdir -v ../glibc-build 82 97 cd ../glibc-build</userinput></screen> 83 98 84 <para>Prepare Glibc for compilation:</para>99 <para>Prepare Glibc for compilation:</para> 85 100 86 101 <screen><userinput>../glibc-&glibc-version;/configure --prefix=/usr \ … … 88 103 --enable-kernel=2.6.0 --libexecdir=/usr/lib/glibc</userinput></screen> 89 104 90 <para>The meaning of the new configure options:</para> 91 92 <variablelist> 93 <varlistentry> 94 <term><parameter>--libexecdir=/usr/lib/glibc</parameter></term> 95 <listitem><para>This changes the location of the 96 <command>pt_chown</command> program from its default of <filename 97 class="directory">/usr/libexec</filename> to <filename 98 class="directory">/usr/lib/glibc</filename>.</para></listitem> 99 </varlistentry> 100 </variablelist> 101 102 <para>Compile the package:</para> 105 <variablelist> 106 <title>The meaning of the new configure options:</title> 107 108 <varlistentry> 109 <term><parameter>--libexecdir=/usr/lib/glibc</parameter></term> 110 <listitem> 111 <para>This changes the location of the <command>pt_chown</command> 112 program from its default of <filename 113 class="directory">/usr/libexec</filename> to <filename 114 class="directory">/usr/lib/glibc</filename>.</para> 115 </listitem> 116 </varlistentry> 117 118 </variablelist> 119 120 <para>Compile the package:</para> 103 121 104 122 <screen><userinput>make</userinput></screen> 105 123 106 <important><para>In this section, the test suite for Glibc is 107 considered critical. Do not skip it under any 108 circumstance.</para></important> 109 110 <para>Test the results:</para> 124 <important> 125 <para>In this section, the test suite for Glibc is considered critical. 126 Do not skip it under any circumstance.</para> 127 </important> 128 129 <para>Test the results:</para> 111 130 112 131 <screen><userinput>make -k check >glibc-check-log 2>&1 113 132 grep Error glibc-check-log</userinput></screen> 114 133 115 <para>On at least i686 you can expect to see failures in the <emphasis>test-double 116 </emphasis> and <emphasis>test-idouble</emphasis> math tests with 117 gcc-&gcc-version;, as well as an expected (ignored) failure in <emphasis> 118 posix/annexc</emphasis>. These two failures in the math tests appear to be 119 harmless.</para> 120 121 <para>The Glibc test suite is highly dependent on certain functions of 122 the host system, in particular the kernel. In certain circumstances, 123 some failures are unavoidable. This is a list of the most common 124 issues:</para> 125 126 <itemizedlist> 127 <listitem><para>The <emphasis>math</emphasis> tests sometimes fail in other tests 128 when running 129 on systems where the CPU is not a relatively new genuine Intel or authentic AMD. 130 Certain optimization settings are also known to be a factor here.</para></listitem> 131 132 <listitem><para>The <emphasis>gettext</emphasis> test sometimes fails due to 133 host system issues. The exact reasons are not yet clear.</para></listitem> 134 135 <listitem><para>If you have mounted the LFS partition with the 136 <parameter>noatime</parameter> option, the <emphasis>atime</emphasis> test will 137 fail. As mentioned in <xref linkend="space-mounting"/>, do not use the 138 <parameter>noatime</parameter> option while building LFS.</para></listitem> 139 140 <listitem><para>When running on older and slower hardware, some tests 141 can fail because of test timeouts being exceeded.</para></listitem> 142 </itemizedlist> 143 144 <para>Though it is a harmless message, the install stage of Glibc will 145 complain about the absence of <filename>/etc/ld.so.conf</filename>. 146 Prevent this warning with:</para> 134 <para>On at least i686 you can expect to see failures in the 135 <emphasis>test-double </emphasis> and <emphasis>test-idouble</emphasis> 136 math tests with gcc-&gcc-version;, as well as an expected (ignored) 137 failure in <emphasis> posix/annexc</emphasis>. These two failures in 138 the math tests appear to be harmless.</para> 139 140 <para>The Glibc test suite is highly dependent on certain functions of 141 the host system, in particular the kernel. In certain circumstances, 142 some failures are unavoidable. This is a list of the most common 143 issues:</para> 144 145 <itemizedlist> 146 <listitem> 147 <para>The <emphasis>math</emphasis> tests sometimes fail in other 148 tests when running on systems where the CPU is not a relatively 149 new genuine Intel or authentic AMD. Certain optimization settings 150 are also known to be a factor here.</para> 151 </listitem> 152 <listitem> 153 <para>The <emphasis>gettext</emphasis> test sometimes fails due to 154 host system issues. The exact reasons are not yet clear.</para> 155 </listitem> 156 <listitem> 157 <para>If you have mounted the LFS partition with the 158 <parameter>noatime</parameter> option, the <emphasis>atime</emphasis> 159 test will fail. As mentioned in <xref linkend="space-mounting"/>, do not 160 use the <parameter>noatime</parameter> option while building LFS.</para> 161 </listitem> 162 <listitem> 163 <para>When running on older and slower hardware, some tests 164 can fail because of test timeouts being exceeded.</para> 165 </listitem> 166 </itemizedlist> 167 168 <para>Though it is a harmless message, the install stage of Glibc will 169 complain about the absence of <filename>/etc/ld.so.conf</filename>. 170 Prevent this warning with:</para> 147 171 148 172 <screen><userinput>touch /etc/ld.so.conf</userinput></screen> 149 173 150 <para>Install the package:</para>174 <para>Install the package:</para> 151 175 152 176 <screen><userinput>make install</userinput></screen> 153 177 154 <para>The locales that can make the system respond in a different 155 language were not installed by the above command. None of the 156 locales are required, but, if some of them are misssing, testuites of the 157 future packages would skip important testcases.</para> 158 159 <para>Individual locales can be installed using the <command>localedef</command> 160 program. E.g., the first <command>localedef</command> command below combines 161 the <filename>/usr/share/i18n/locales/de_DE</filename> charset-independent 162 locale definition with the 163 <filename>/usr/share/i18n/charmaps/ISO-8859-1.gz</filename> charmap definition 164 and appends the result to the 165 <filename>/usr/lib/locale/locale-archive</filename> file. The following 166 instructions will install the minimum set of locales necessary 167 for the optimal coverage of tests:</para> 178 <para>The locales that can make the system respond in a different language 179 were not installed by the above command. None of the locales are required, 180 but, if some of them are misssing, testuites of the future packages would 181 skip important testcases.</para> 182 183 <para>Individual locales can be installed using the 184 <command>localedef</command> program. E.g., the first 185 <command>localedef</command> command below combines the 186 <filename>/usr/share/i18n/locales/de_DE</filename> 187 charset-independent locale definition with the 188 <filename>/usr/share/i18n/charmaps/ISO-8859-1.gz</filename> 189 charmap definition and appends the result to the 190 <filename>/usr/lib/locale/locale-archive</filename> file. 191 The following instructions will install the minimum set of 192 locales necessary for the optimal coverage of tests:</para> 168 193 169 194 <screen role="nodump"><userinput>mkdir -pv /usr/lib/locale … … 182 207 localedef -i ja_JP -f EUC-JP ja_JP</userinput></screen> 183 208 184 <para>In addition, install the locale for your own country, language and185 character set.</para>186 187 <para>Alternatively, install all locales 188 listed in the <filename>glibc-&glibc-version;/localedata/SUPPORTED</filename> 189 file (it includes every locale listed above and many more) 190 at once with thefollowing time-consuming command:</para>209 <para>In addition, install the locale for your own country, language and 210 character set.</para> 211 212 <para>Alternatively, install all locales listed in the 213 <filename>glibc-&glibc-version;/localedata/SUPPORTED</filename> file 214 (it includes every locale listed above and many more) at once with the 215 following time-consuming command:</para> 191 216 192 217 <screen><userinput>make localedata/install-locales</userinput></screen> 193 218 194 <para>Then use the <command>localedef</command> command to create and 195 install locales not listed in the 196 <filename>glibc-&glibc-version;/localedata/SUPPORTED</filename> file 197 in the unlikely case if you need them.</para> 198 <!-- The Live CD patches the localedata/SUPPORTED file instead of 199 running localedef, the results are equivalent --> 200 201 </sect2> 202 203 <sect2 id="conf-glibc" role="configuration"><title>Configuring Glibc</title> 204 <indexterm zone="conf-glibc"><primary sortas="e-/etc/nsswitch.conf">/etc/nsswitch.conf</primary></indexterm> 205 <indexterm zone="conf-glibc"><primary sortas="e-/etc/localtime">/etc/localtime</primary></indexterm> 206 207 <para>The <filename>/etc/nsswitch.conf</filename> file needs to be created 208 because, although Glibc provides defaults when this file is missing or corrupt, 209 the Glibc defaults do not work well in a networked environment. The time zone 210 also needs to be configured.</para> 211 212 <para>Create a new file <filename>/etc/nsswitch.conf</filename> by running the 213 following:</para> 219 <para>Then use the <command>localedef</command> command to create and 220 install locales not listed in the 221 <filename>glibc-&glibc-version;/localedata/SUPPORTED</filename> file 222 in the unlikely case if you need them.</para> 223 <!-- The Live CD patches the localedata/SUPPORTED file instead of 224 running localedef, the results are equivalent --> 225 226 </sect2> 227 228 <sect2 id="conf-glibc" role="configuration"> 229 <title>Configuring Glibc</title> 230 231 <indexterm zone="conf-glibc"> 232 <primary sortas="e-/etc/nsswitch.conf">/etc/nsswitch.conf</primary> 233 </indexterm> 234 235 <indexterm zone="conf-glibc"> 236 <primary sortas="e-/etc/localtime">/etc/localtime</primary> 237 </indexterm> 238 239 <para>The <filename>/etc/nsswitch.conf</filename> file needs to be created 240 because, although Glibc provides defaults when this file is missing or corrupt, 241 the Glibc defaults do not work well in a networked environment. The time zone 242 also needs to be configured.</para> 243 244 <para>Create a new file <filename>/etc/nsswitch.conf</filename> by running the 245 following:</para> 214 246 215 247 <screen><userinput>cat > /etc/nsswitch.conf << "EOF" … … 231 263 EOF</userinput></screen> 232 264 233 <para>To determine the local time zone, run the following script:</para>265 <para>To determine the local time zone, run the following script:</para> 234 266 235 267 <screen role="nodump"><userinput>tzselect</userinput></screen> 236 268 237 <para>After answering a few questions about the location, the script 238 will output the name of the time zone (e.g., 239 <emphasis>EST5EDT</emphasis> or <emphasis>Canada/Eastern</emphasis>). 240 Then create the <filename>/etc/localtime</filename> file by 241 running:</para> 269 <para>After answering a few questions about the location, the script will 270 output the name of the time zone (e.g., <emphasis>EST5EDT</emphasis> or 271 <emphasis>Canada/Eastern</emphasis>). Then create the 272 <filename>/etc/localtime</filename> file by running:</para> 242 273 243 274 <screen><userinput>cp -v --remove-destination /usr/share/zoneinfo/<replaceable>[xxx]</replaceable> \ 244 275 /etc/localtime</userinput></screen> 245 276 246 <para>Replace <replaceable>[xxx]</replaceable> with the name of the time zone 247 that <command>tzselect</command> provided (e.g., Canada/Eastern).</para> 248 249 <para>The meaning of the cp option:</para> 250 251 <variablelist> 252 <varlistentry> 253 <term><parameter>--remove-destination</parameter></term> 254 <listitem><para>This is needed to force removal of the already 255 existing symbolic link. The reason for copying the file instead of 256 using a symlink is to cover the situation where <filename 257 class="directory">/usr</filename> is on a separate partition. This 258 could be important when booted into single user 259 mode.</para></listitem> 260 </varlistentry> 261 </variablelist> 262 263 </sect2> 264 265 266 <sect2 id="conf-ld" role="configuration"> 267 <title>Configuring the Dynamic Loader</title> 268 <indexterm zone="conf-ld"><primary sortas="e-/etc/ld.so.conf">/etc/ld.so.conf</primary></indexterm> 269 270 <para>By default, the dynamic loader (<filename 271 class="libraryfile">/lib/ld-linux.so.2</filename>) searches through 272 <filename class="directory">/lib</filename> and <filename 273 class="directory">/usr/lib</filename> for dynamic libraries that are 274 needed by programs as they are run. However, if there are libraries in 275 directories other than <filename class="directory">/lib</filename> and 276 <filename class="directory">/usr/lib</filename>, these need to be 277 added to the <filename>/etc/ld.so.conf</filename> file in order 278 for the dynamic loader to find them. Two directories that are commonly 279 known to contain additional libraries are <filename 280 class="directory">/usr/local/lib</filename> and <filename 281 class="directory">/opt/lib</filename>, so add those directories to the 282 dynamic loader's search path.</para> 283 284 <para>Create a new file <filename>/etc/ld.so.conf</filename> by running the 285 following:</para> 277 <para>Replace <replaceable>[xxx]</replaceable> with the name of the time zone 278 that <command>tzselect</command> provided (e.g., Canada/Eastern).</para> 279 280 <variablelist> 281 <title>The meaning of the cp option:</title> 282 283 <varlistentry> 284 <term><parameter>--remove-destination</parameter></term> 285 <listitem> 286 <para>This is needed to force removal of the already existing symbolic 287 link. The reason for copying the file instead of using a symlink is to 288 cover the situation where <filename class="directory">/usr</filename> 289 is on a separate partition. This could be important when booted into 290 single user mode.</para> 291 </listitem> 292 </varlistentry> 293 294 </variablelist> 295 296 </sect2> 297 298 <sect2 id="conf-ld" role="configuration"> 299 <title>Configuring the Dynamic Loader</title> 300 301 <indexterm zone="conf-ld"> 302 <primary sortas="e-/etc/ld.so.conf">/etc/ld.so.conf</primary> 303 </indexterm> 304 305 <para>By default, the dynamic loader (<filename 306 class="libraryfile">/lib/ld-linux.so.2</filename>) searches through 307 <filename class="directory">/lib</filename> and <filename 308 class="directory">/usr/lib</filename> for dynamic libraries that are 309 needed by programs as they are run. However, if there are libraries in 310 directories other than <filename class="directory">/lib</filename> and 311 <filename class="directory">/usr/lib</filename>, these need to be added 312 to the <filename>/etc/ld.so.conf</filename> file in order for the 313 dynamic loader to find them. Two directories that are commonly known 314 to contain additional libraries are <filename 315 class="directory">/usr/local/lib</filename> and <filename 316 class="directory">/opt/lib</filename>, so add those directories to the 317 dynamic loader's search path.</para> 318 319 <para>Create a new file <filename>/etc/ld.so.conf</filename> by running the 320 following:</para> 286 321 287 322 <screen><userinput>cat > /etc/ld.so.conf << "EOF" … … 294 329 EOF</userinput></screen> 295 330 296 </sect2> 297 298 <sect2 id="contents-glibc" role="content"><title>Contents of Glibc</title> 299 300 <segmentedlist> 301 <segtitle>Installed programs</segtitle> 302 <segtitle>Installed libraries</segtitle> 303 <seglistitem><seg>catchsegv, gencat, getconf, 304 getent, iconv, iconvconfig, ldconfig, ldd, lddlibc4, locale, 305 localedef, mtrace, nscd, nscd_nischeck, pcprofiledump, pt_chown, rpcgen, 306 rpcinfo, sln, sprof, tzselect, xtrace, zdump, and zic</seg> 307 <seg>ld.so, libBrokenLocale.[a,so], 308 libSegFault.so, libanl.[a,so], libbsd-compat.a, libc.[a,so], libcidn.so, 309 libcrypt.[a,so], libdl.[a,so], libg.a, libieee.a, libm.[a,so], libmcheck.a, 310 libmemusage.so, libnsl.a, libnss_compat.so, libnss_dns.so, libnss_files.so, 311 libnss_hesiod.so, libnss_nis.so, libnss_nisplus.so, libpcprofile.so, 312 libpthread.[a,so], libresolv.[a,so], librpcsvc.a, librt.[a,so], 313 libthread_db.so, and libutil.[a,so]</seg></seglistitem> 314 </segmentedlist> 315 316 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> 317 <?dbfo list-presentation="list"?> 318 <?dbhtml list-presentation="table"?> 319 320 <varlistentry id="catchsegv"> 321 <term><command>catchsegv</command></term> 322 <listitem> 323 <para>Can be used to create a stack trace when a program 324 terminates with a segmentation fault</para> 325 <indexterm zone="ch-system-glibc catchsegv"><primary sortas="b-catchsegv">catchsegv</primary></indexterm> 326 </listitem> 327 </varlistentry> 328 329 <varlistentry id="gencat"> 330 <term><command>gencat</command></term> 331 <listitem> 332 <para>Generates message catalogues</para> 333 <indexterm zone="ch-system-glibc gencat"><primary sortas="b-gencat">gencat</primary></indexterm> 334 </listitem> 335 </varlistentry> 336 337 <varlistentry id="getconf"> 338 <term><command>getconf</command></term> 339 <listitem> 340 <para>Displays the system configuration values for file system specific variables</para> 341 <indexterm zone="ch-system-glibc getconf"><primary sortas="b-getconf">getconf</primary></indexterm> 342 </listitem> 343 </varlistentry> 344 345 <varlistentry id="getent"> 346 <term><command>getent</command></term> 347 <listitem> 348 <para>Gets entries from an administrative database</para> 349 <indexterm zone="ch-system-glibc getent"><primary sortas="b-getent">getent</primary></indexterm> 350 </listitem> 351 </varlistentry> 352 353 <varlistentry id="iconv"> 354 <term><command>iconv</command></term> 355 <listitem> 356 <para>Performs character set conversion</para> 357 <indexterm zone="ch-system-glibc iconv"><primary sortas="b-iconv">iconv</primary></indexterm> 358 </listitem> 359 </varlistentry> 360 361 <varlistentry id="iconvconfig"> 362 <term><command>iconvconfig</command></term> 363 <listitem> 364 <para>Creates fastloading <command>iconv</command> module configuration files</para> 365 <indexterm zone="ch-system-glibc iconvconfig"><primary sortas="b-iconvconfig">iconvconfig</primary></indexterm> 366 </listitem> 367 </varlistentry> 368 369 <varlistentry id="ldconfig"> 370 <term><command>ldconfig</command></term> 371 <listitem> 372 <para>Configures the dynamic linker runtime bindings</para> 373 <indexterm zone="ch-system-glibc ldconfig"><primary sortas="b-ldconfig">ldconfig</primary></indexterm> 374 </listitem> 375 </varlistentry> 376 377 <varlistentry id="ldd"> 378 <term><command>ldd</command></term> 379 <listitem> 380 <para>Reports which shared libraries are required 381 by each given program or shared library</para> 382 <indexterm zone="ch-system-glibc ldd"><primary sortas="b-ldd">ldd</primary></indexterm> 383 </listitem> 384 </varlistentry> 385 386 <varlistentry id="lddlibc4"> 387 <term><command>lddlibc4</command></term> 388 <listitem> 389 <para>Assists <command>ldd</command> with object files</para> 390 <indexterm zone="ch-system-glibc lddlibc4"><primary sortas="b-lddlibc4">lddlibc4</primary></indexterm> 391 </listitem> 392 </varlistentry> 393 394 <varlistentry id="locale"> 395 <term><command>locale</command></term> 396 <listitem> 397 <para>Prints various information about the current locale</para> 398 <indexterm zone="ch-system-glibc locale"><primary sortas="b-locale">locale</primary></indexterm> 399 </listitem> 400 </varlistentry> 401 402 <varlistentry id="localedef"> 403 <term><command>localedef</command></term> 404 <listitem> 405 <para>Compiles locale specifications</para> 406 <indexterm zone="ch-system-glibc localedef"><primary sortas="b-localedef">localedef</primary></indexterm> 407 </listitem> 408 </varlistentry> 409 410 <varlistentry id="mtrace"> 411 <term><command>mtrace</command></term> 412 <listitem> 413 <para>Reads and interprets a memory trace file and displays a summary in human-readable format</para> 414 <indexterm zone="ch-system-glibc mtrace"><primary sortas="b-mtrace">mtrace</primary></indexterm> 415 </listitem> 416 </varlistentry> 417 418 <varlistentry id="nscd"> 419 <term><command>nscd</command></term> 420 <listitem> 421 <para>A daemon that provides a cache for the most common name 422 service requests</para> 423 <indexterm zone="ch-system-glibc nscd"><primary sortas="b-nscd">nscd</primary></indexterm> 424 </listitem> 425 </varlistentry> 426 427 <varlistentry id="nscd_nischeck"> 428 <term><command>nscd_nischeck</command></term> 429 <listitem> 430 <para>Checks whether or not secure mode is necessary for NIS+ lookup</para> 431 <indexterm zone="ch-system-glibc nscd_nischeck"><primary sortas="b-nscd_nischeck">nscd_nischeck</primary></indexterm> 432 </listitem> 433 </varlistentry> 434 435 <varlistentry id="pcprofiledump"> 436 <term><command>pcprofiledump</command></term> 437 <listitem> 438 <para>Dumps information generated by PC profiling</para> 439 <indexterm zone="ch-system-glibc pcprofiledump"><primary sortas="b-pcprofiledump">pcprofiledump</primary></indexterm> 440 </listitem> 441 </varlistentry> 442 443 <varlistentry id="pt_chown"> 444 <term><command>pt_chown</command></term> 445 <listitem> 446 <para>A helper program for <command>grantpt</command> to set 447 the owner, group and access permissions of a slave pseudo terminal</para> 448 <indexterm zone="ch-system-glibc pt_chown"><primary sortas="b-pt_chown">pt_chown</primary></indexterm> 449 </listitem> 450 </varlistentry> 451 452 <varlistentry id="rpcgen"> 453 <term><command>rpcgen</command></term> 454 <listitem> 455 <para>Generates C code to implement the Remote Procecure Call (RPC) protocol</para> 456 <indexterm zone="ch-system-glibc rpcgen"><primary sortas="b-rpcgen">rpcgen</primary></indexterm> 457 </listitem> 458 </varlistentry> 459 460 <varlistentry id="rpcinfo"> 461 <term><command>rpcinfo</command></term> 462 <listitem> 463 <para>Makes an RPC call to an RPC server</para> 464 <indexterm zone="ch-system-glibc rpcinfo"><primary sortas="b-rpcinfo">rpcinfo</primary></indexterm> 465 </listitem> 466 </varlistentry> 467 468 <varlistentry id="sln"> 469 <term><command>sln</command></term> 470 <listitem> 471 <para>A statically linked <command>ln</command> program</para> 472 <indexterm zone="ch-system-glibc sln"><primary sortas="b-sln">sln</primary></indexterm> 473 </listitem> 474 </varlistentry> 475 476 <varlistentry id="sprof"> 477 <term><command>sprof</command></term> 478 <listitem> 479 <para>Reads and displays shared object profiling data</para> 480 <indexterm zone="ch-system-glibc sprof"><primary sortas="b-sprof">sprof</primary></indexterm> 481 </listitem> 482 </varlistentry> 483 484 <varlistentry id="tzselect"> 485 <term><command>tzselect</command></term> 486 <listitem> 487 <para>Asks the user about the location of the 488 system and reports the corresponding time zone description</para> 489 <indexterm zone="ch-system-glibc tzselect"><primary sortas="b-tzselect">tzselect</primary></indexterm> 490 </listitem> 491 </varlistentry> 492 493 <varlistentry id="xtrace"> 494 <term><command>xtrace</command></term> 495 <listitem> 496 <para>Traces the execution of a program by 497 printing the currently executed function</para> 498 <indexterm zone="ch-system-glibc xtrace"><primary sortas="b-xtrace">xtrace</primary></indexterm> 499 </listitem> 500 </varlistentry> 501 502 <varlistentry id="zdump"> 503 <term><command>zdump</command></term> 504 <listitem> 505 <para>The time zone dumper</para> 506 <indexterm zone="ch-system-glibc zdump"><primary sortas="b-zdump">zdump</primary></indexterm> 507 </listitem> 508 </varlistentry> 509 510 <varlistentry id="zic"> 511 <term><command>zic</command></term> 512 <listitem> 513 <para>The time zone compiler</para> 514 <indexterm zone="ch-system-glibc zic"><primary sortas="b-zic">zic</primary></indexterm> 515 </listitem> 516 </varlistentry> 517 518 <varlistentry id="ld.so"> 519 <term><filename class="libraryfile">ld.so</filename></term> 520 <listitem> 521 <para>The helper program for shared library executables</para> 522 <indexterm zone="ch-system-glibc ld.so"><primary sortas="c-ld.so">ld.so</primary></indexterm> 523 </listitem> 524 </varlistentry> 525 526 <varlistentry id="libBrokenLocale"> 527 <term><filename class="libraryfile">libBrokenLocale</filename></term> 528 <listitem> 529 <para>Used internally by Glibc as a gross hack to get broken programs 530 (e.g., some Motif applications) running. See comments in 531 <filename>glibc-&glibc-version;/locale/broken_cur_max.c</filename> for more 532 information</para> 533 <indexterm zone="ch-system-glibc libBrokenLocale"><primary sortas="c-libBrokenLocale">libBrokenLocale</primary></indexterm> 534 </listitem> 535 </varlistentry> 536 537 <varlistentry id="libSegFault"> 538 <term><filename class="libraryfile">libSegFault</filename></term> 539 <listitem> 540 <para>The segmentation fault signal handler, used by 541 <command>catchsegv</command></para> 542 <indexterm zone="ch-system-glibc libSegFault"><primary sortas="c-libSegFault">libSegFault</primary></indexterm> 543 </listitem> 544 </varlistentry> 545 546 <varlistentry id="libanl"> 547 <term><filename class="libraryfile">libanl</filename></term> 548 <listitem> 549 <para>An asynchronous name lookup library</para> 550 <indexterm zone="ch-system-glibc libanl"><primary sortas="c-libanl">libanl</primary></indexterm> 551 </listitem> 552 </varlistentry> 553 554 <varlistentry id="libbsd-compat"> 555 <term><filename class="libraryfile">libbsd-compat</filename></term> 556 <listitem> 557 <para>Provides the portability needed 558 in order to run certain Berkey Software Distribution (BSD) programs under Linux</para> 559 <indexterm zone="ch-system-glibc libbsd-compat"><primary sortas="c-libbsd-compat">libbsd-compat</primary></indexterm> 560 </listitem> 561 </varlistentry> 562 563 <varlistentry id="libc"> 564 <term><filename class="libraryfile">libc</filename></term> 565 <listitem> 566 <para>The main C library</para> 567 <indexterm zone="ch-system-glibc libc"><primary sortas="c-libc">libc</primary></indexterm> 568 </listitem> 569 </varlistentry> 570 571 <varlistentry id="libcidn"> 572 <term><filename class="libraryfile">libcidn</filename></term> 573 <listitem> 574 <para>Used internally by Glibc for handling internationalized domain names in 575 the <function>getaddrinfo()</function> function</para> 576 <indexterm zone="ch-system-glibc libcrypt"><primary sortas="c-libcrypt">libcrypt</primary></indexterm> 577 </listitem> 578 </varlistentry> 579 580 <varlistentry id="libcrypt"> 581 <term><filename class="libraryfile">libcrypt</filename></term> 582 <listitem> 583 <para>The cryptography library</para> 584 <indexterm zone="ch-system-glibc libcrypt"><primary sortas="c-libcrypt">libcrypt</primary></indexterm> 585 </listitem> 586 </varlistentry> 587 588 <varlistentry id="libdl"> 589 <term><filename class="libraryfile">libdl</filename></term> 590 <listitem> 591 <para>The dynamic linking interface library</para> 592 <indexterm zone="ch-system-glibc libdl"><primary sortas="c-libdl">libdl</primary></indexterm> 593 </listitem> 594 </varlistentry> 595 596 <varlistentry id="libg"> 597 <term><filename class="libraryfile">libg</filename></term> 598 <listitem> 599 <para>Dummy library containing no functions. Previously was a runtime library 600 for <command>g++</command></para> 601 <indexterm zone="ch-system-glibc libg"><primary sortas="c-libg">libg</primary></indexterm> 602 </listitem> 603 </varlistentry> 604 605 <varlistentry id="libieee"> 606 <term><filename class="libraryfile">libieee</filename></term> 607 <listitem> 608 <para>Linking in this module forces error handling rules for math functions as 609 defined by the Institute of Electrical and Electronic Engineers (IEEE). 610 The default is POSIX.1 error handling</para> 611 <indexterm zone="ch-system-glibc libieee"><primary sortas="c-libieee">libieee</primary></indexterm> 612 </listitem> 613 </varlistentry> 614 615 <varlistentry id="libm"> 616 <term><filename class="libraryfile">libm</filename></term> 617 <listitem> 618 <para>The mathematical library</para> 619 <indexterm zone="ch-system-glibc libm"><primary sortas="c-libm">libm</primary></indexterm> 620 </listitem> 621 </varlistentry> 622 623 <varlistentry id="libmcheck"> 624 <term><filename class="libraryfile">libmcheck</filename></term> 625 <listitem> 626 <para>Turns on memory allocation checking when linked to</para> 627 <indexterm zone="ch-system-glibc libmcheck"><primary sortas="c-libmcheck">libmcheck</primary></indexterm> 628 </listitem> 629 </varlistentry> 630 631 <varlistentry id="libmemusage"> 632 <term><filename class="libraryfile">libmemusage</filename></term> 633 <listitem> 634 <para>Used by <command>memusage</command> to help collect 635 information about the memory usage of a program</para> 636 <indexterm zone="ch-system-glibc libmemusage"><primary sortas="c-libmemusage">libmemusage</primary></indexterm> 637 </listitem> 638 </varlistentry> 639 640 <varlistentry id="libnsl"> 641 <term><filename class="libraryfile">libnsl</filename></term> 642 <listitem> 643 <para>The network services library</para> 644 <indexterm zone="ch-system-glibc libnsl"><primary sortas="c-libnsl">libnsl</primary></indexterm> 645 </listitem> 646 </varlistentry> 647 648 <varlistentry id="libnss"> 649 <term><filename class="libraryfile">libnss</filename></term> 650 <listitem> 651 <para>The Name Service Switch libraries, 652 containing functions for resolving host names, user names, group names, 653 aliases, services, protocols, etc.</para> 654 <indexterm zone="ch-system-glibc libnss"><primary sortas="c-libnss">libnss</primary></indexterm> 655 </listitem> 656 </varlistentry> 657 658 <varlistentry id="libpcprofile"> 659 <term><filename class="libraryfile">libpcprofile</filename></term> 660 <listitem> 661 <para>Contains profiling functions used 662 to track the amount of CPU time spent in specific source code lines</para> 663 <indexterm zone="ch-system-glibc libpcprofile"><primary sortas="c-libpcprofile">libpcprofile</primary></indexterm> 664 </listitem> 665 </varlistentry> 666 667 <varlistentry id="libpthread"> 668 <term><filename class="libraryfile">libpthread</filename></term> 669 <listitem> 670 <para>The POSIX threads library</para> 671 <indexterm zone="ch-system-glibc libpthread"><primary sortas="c-libpthread">libpthread</primary></indexterm> 672 </listitem> 673 </varlistentry> 674 675 <varlistentry id="libresolv"> 676 <term><filename class="libraryfile">libresolv</filename></term> 677 <listitem> 678 <para>Contains functions for creating, 679 sending, and interpreting packets to the Internet domain name servers</para> 680 <indexterm zone="ch-system-glibc libresolv"><primary sortas="c-libresolv">libresolv</primary></indexterm> 681 </listitem> 682 </varlistentry> 683 684 <varlistentry id="librpcsvc"> 685 <term><filename class="libraryfile">librpcsvc</filename></term> 686 <listitem> 687 <para>Contains functions providing miscellaneous RPC services</para> 688 <indexterm zone="ch-system-glibc librpcsvc"><primary sortas="c-librpcsvc">librpcsvc</primary></indexterm> 689 </listitem> 690 </varlistentry> 691 692 <varlistentry id="librt"> 693 <term><filename class="libraryfile">librt</filename></term> 694 <listitem> 695 <para>Contains functions providing most of the 696 interfaces specified by the POSIX.1b Realtime Extension</para> 697 <indexterm zone="ch-system-glibc librt"><primary sortas="c-librt">librt</primary></indexterm> 698 </listitem> 699 </varlistentry> 700 701 <varlistentry id="libthread_db"> 702 <term><filename class="libraryfile">libthread_db</filename></term> 703 <listitem> 704 <para>Contains functions useful for 705 building debuggers for multi-threaded programs</para> 706 <indexterm zone="ch-system-glibc libthread_db"><primary sortas="c-libthread_db">libthread_db</primary></indexterm> 707 </listitem> 708 </varlistentry> 709 710 <varlistentry id="libutil"> 711 <term><filename class="libraryfile">libutil</filename></term> 712 <listitem> 713 <para>Contains code for <quote>standard</quote> functions used in many different Unix utilities</para> 714 <indexterm zone="ch-system-glibc libutil"><primary sortas="c-libutil">libutil</primary></indexterm> 715 </listitem> 716 </varlistentry> 717 </variablelist> 718 719 </sect2> 331 </sect2> 332 333 <sect2 id="contents-glibc" role="content"> 334 <title>Contents of Glibc</title> 335 336 <segmentedlist> 337 <segtitle>Installed programs</segtitle> 338 <segtitle>Installed libraries</segtitle> 339 340 <seglistitem> 341 <seg>catchsegv, gencat, getconf, getent, iconv, iconvconfig, ldconfig, 342 ldd, lddlibc4, locale, localedef, mtrace, nscd, nscd_nischeck, 343 pcprofiledump, pt_chown, rpcgen, rpcinfo, sln, sprof, tzselect, xtrace, 344 zdump, and zic</seg> 345 <seg>ld.so, libBrokenLocale.[a,so], libSegFault.so, libanl.[a,so], 346 libbsd-compat.a, libc.[a,so], libcidn.so, libcrypt.[a,so], libdl.[a,so], 347 libg.a, libieee.a, libm.[a,so], libmcheck.a, libmemusage.so, libnsl.a, 348 libnss_compat.so, libnss_dns.so, libnss_files.so, libnss_hesiod.so, 349 libnss_nis.so, libnss_nisplus.so, libpcprofile.so, libpthread.[a,so], 350 libresolv.[a,so], librpcsvc.a, librt.[a,so], libthread_db.so, and 351 libutil.[a,so]</seg> 352 </seglistitem> 353 </segmentedlist> 354 355 <variablelist> 356 <bridgehead renderas="sect3">Short Descriptions</bridgehead> 357 <?dbfo list-presentation="list"?> 358 <?dbhtml list-presentation="table"?> 359 360 <varlistentry id="catchsegv"> 361 <term><command>catchsegv</command></term> 362 <listitem> 363 <para>Can be used to create a stack trace when a program 364 terminates with a segmentation fault</para> 365 <indexterm zone="ch-system-glibc catchsegv"> 366 <primary sortas="b-catchsegv">catchsegv</primary> 367 </indexterm> 368 </listitem> 369 </varlistentry> 370 371 <varlistentry id="gencat"> 372 <term><command>gencat</command></term> 373 <listitem> 374 <para>Generates message catalogues</para> 375 <indexterm zone="ch-system-glibc gencat"> 376 <primary sortas="b-gencat">gencat</primary> 377 </indexterm> 378 </listitem> 379 </varlistentry> 380 381 <varlistentry id="getconf"> 382 <term><command>getconf</command></term> 383 <listitem> 384 <para>Displays the system configuration values for file system 385 specific variables</para> 386 <indexterm zone="ch-system-glibc getconf"> 387 <primary sortas="b-getconf">getconf</primary> 388 </indexterm> 389 </listitem> 390 </varlistentry> 391 392 <varlistentry id="getent"> 393 <term><command>getent</command></term> 394 <listitem> 395 <para>Gets entries from an administrative database</para> 396 <indexterm zone="ch-system-glibc getent"> 397 <primary sortas="b-getent">getent</primary> 398 </indexterm> 399 </listitem> 400 </varlistentry> 401 402 <varlistentry id="iconv"> 403 <term><command>iconv</command></term> 404 <listitem> 405 <para>Performs character set conversion</para> 406 <indexterm zone="ch-system-glibc iconv"> 407 <primary sortas="b-iconv">iconv</primary> 408 </indexterm> 409 </listitem> 410 </varlistentry> 411 412 <varlistentry id="iconvconfig"> 413 <term><command>iconvconfig</command></term> 414 <listitem> 415 <para>Creates fastloading <command>iconv</command> module configuration 416 files</para> 417 <indexterm zone="ch-system-glibc iconvconfig"> 418 <primary sortas="b-iconvconfig">iconvconfig</primary> 419 </indexterm> 420 </listitem> 421 </varlistentry> 422 423 <varlistentry id="ldconfig"> 424 <term><command>ldconfig</command></term> 425 <listitem> 426 <para>Configures the dynamic linker runtime bindings</para> 427 <indexterm zone="ch-system-glibc ldconfig"> 428 <primary sortas="b-ldconfig">ldconfig</primary> 429 </indexterm> 430 </listitem> 431 </varlistentry> 432 433 <varlistentry id="ldd"> 434 <term><command>ldd</command></term> 435 <listitem> 436 <para>Reports which shared libraries are required 437 by each given program or shared library</para> 438 <indexterm zone="ch-system-glibc ldd"> 439 <primary sortas="b-ldd">ldd</primary> 440 </indexterm> 441 </listitem> 442 </varlistentry> 443 444 <varlistentry id="lddlibc4"> 445 <term><command>lddlibc4</command></term> 446 <listitem> 447 <para>Assists <command>ldd</command> with object files</para> 448 <indexterm zone="ch-system-glibc lddlibc4"> 449 <primary sortas="b-lddlibc4">lddlibc4</primary> 450 </indexterm> 451 </listitem> 452 </varlistentry> 453 454 <varlistentry id="locale"> 455 <term><command>locale</command></term> 456 <listitem> 457 <para>Prints various information about the current locale</para> 458 <indexterm zone="ch-system-glibc locale"> 459 <primary sortas="b-locale">locale</primary> 460 </indexterm> 461 </listitem> 462 </varlistentry> 463 464 <varlistentry id="localedef"> 465 <term><command>localedef</command></term> 466 <listitem> 467 <para>Compiles locale specifications</para> 468 <indexterm zone="ch-system-glibc localedef"> 469 <primary sortas="b-localedef">localedef</primary> 470 </indexterm> 471 </listitem> 472 </varlistentry> 473 474 <varlistentry id="mtrace"> 475 <term><command>mtrace</command></term> 476 <listitem> 477 <para>Reads and interprets a memory trace file and displays a summary 478 in human-readable format</para> 479 <indexterm zone="ch-system-glibc mtrace"> 480 <primary sortas="b-mtrace">mtrace</primary> 481 </indexterm> 482 </listitem> 483 </varlistentry> 484 485 <varlistentry id="nscd"> 486 <term><command>nscd</command></term> 487 <listitem> 488 <para>A daemon that provides a cache for the most common name 489 service requests</para> 490 <indexterm zone="ch-system-glibc nscd"> 491 <primary sortas="b-nscd">nscd</primary> 492 </indexterm> 493 </listitem> 494 </varlistentry> 495 496 <varlistentry id="nscd_nischeck"> 497 <term><command>nscd_nischeck</command></term> 498 <listitem> 499 <para>Checks whether or not secure mode is necessary for NIS+ 500 lookup</para> 501 <indexterm zone="ch-system-glibc nscd_nischeck"> 502 <primary sortas="b-nscd_nischeck">nscd_nischeck</primary> 503 </indexterm> 504 </listitem> 505 </varlistentry> 506 507 <varlistentry id="pcprofiledump"> 508 <term><command>pcprofiledump</command></term> 509 <listitem> 510 <para>Dumps information generated by PC profiling</para> 511 <indexterm zone="ch-system-glibc pcprofiledump"> 512 <primary sortas="b-pcprofiledump">pcprofiledump</primary> 513 </indexterm> 514 </listitem> 515 </varlistentry> 516 517 <varlistentry id="pt_chown"> 518 <term><command>pt_chown</command></term> 519 <listitem> 520 <para>A helper program for <command>grantpt</command> to set the owner, 521 group and access permissions of a slave pseudo terminal</para> 522 <indexterm zone="ch-system-glibc pt_chown"> 523 <primary sortas="b-pt_chown">pt_chown</primary> 524 </indexterm> 525 </listitem> 526 </varlistentry> 527 528 <varlistentry id="rpcgen"> 529 <term><command>rpcgen</command></term> 530 <listitem> 531 <para>Generates C code to implement the Remote Procecure Call (RPC) 532 protocol</para> 533 <indexterm zone="ch-system-glibc rpcgen"> 534 <primary sortas="b-rpcgen">rpcgen</primary> 535 </indexterm> 536 </listitem> 537 </varlistentry> 538 539 <varlistentry id="rpcinfo"> 540 <term><command>rpcinfo</command></term> 541 <listitem> 542 <para>Makes an RPC call to an RPC server</para> 543 <indexterm zone="ch-system-glibc rpcinfo"> 544 <primary sortas="b-rpcinfo">rpcinfo</primary> 545 </indexterm> 546 </listitem> 547 </varlistentry> 548 549 <varlistentry id="sln"> 550 <term><command>sln</command></term> 551 <listitem> 552 <para>A statically linked <command>ln</command> program</para> 553 <indexterm zone="ch-system-glibc sln"> 554 <primary sortas="b-sln">sln</primary> 555 </indexterm> 556 </listitem> 557 </varlistentry> 558 559 <varlistentry id="sprof"> 560 <term><command>sprof</command></term> 561 <listitem> 562 <para>Reads and displays shared object profiling data</para> 563 <indexterm zone="ch-system-glibc sprof"> 564 <primary sortas="b-sprof">sprof</primary> 565 </indexterm> 566 </listitem> 567 </varlistentry> 568 569 <varlistentry id="tzselect"> 570 <term><command>tzselect</command></term> 571 <listitem> 572 <para>Asks the user about the location of the system and reports 573 the corresponding time zone description</para> 574 <indexterm zone="ch-system-glibc tzselect"> 575 <primary sortas="b-tzselect">tzselect</primary> 576 </indexterm> 577 </listitem> 578 </varlistentry> 579 580 <varlistentry id="xtrace"> 581 <term><command>xtrace</command></term> 582 <listitem> 583 <para>Traces the execution of a program by printing the currently 584 executed function</para> 585 <indexterm zone="ch-system-glibc xtrace"> 586 <primary sortas="b-xtrace">xtrace</primary> 587 </indexterm> 588 </listitem> 589 </varlistentry> 590 591 <varlistentry id="zdump"> 592 <term><command>zdump</command></term> 593 <listitem> 594 <para>The time zone dumper</para> 595 <indexterm zone="ch-system-glibc zdump"> 596 <primary sortas="b-zdump">zdump</primary> 597 </indexterm> 598 </listitem> 599 </varlistentry> 600 601 <varlistentry id="zic"> 602 <term><command>zic</command></term> 603 <listitem> 604 <para>The time zone compiler</para> 605 <indexterm zone="ch-system-glibc zic"> 606 <primary sortas="b-zic">zic</primary> 607 </indexterm> 608 </listitem> 609 </varlistentry> 610 611 <varlistentry id="ld.so"> 612 <term><filename class="libraryfile">ld.so</filename></term> 613 <listitem> 614 <para>The helper program for shared library executables</para> 615 <indexterm zone="ch-system-glibc ld.so"> 616 <primary sortas="c-ld.so">ld.so</primary> 617 </indexterm> 618 </listitem> 619 </varlistentry> 620 621 <varlistentry id="libBrokenLocale"> 622 <term><filename class="libraryfile">libBrokenLocale</filename></term> 623 <listitem> 624 <para>Used internally by Glibc as a gross hack to get broken programs 625 (e.g., some Motif applications) running. See comments in 626 <filename>glibc-&glibc-version;/locale/broken_cur_max.c</filename> 627 for more information</para> 628 <indexterm zone="ch-system-glibc libBrokenLocale"> 629 <primary sortas="c-libBrokenLocale">libBrokenLocale</primary> 630 </indexterm> 631 </listitem> 632 </varlistentry> 633 634 <varlistentry id="libSegFault"> 635 <term><filename class="libraryfile">libSegFault</filename></term> 636 <listitem> 637 <para>The segmentation fault signal handler, used by 638 <command>catchsegv</command></para> 639 <indexterm zone="ch-system-glibc libSegFault"> 640 <primary sortas="c-libSegFault">libSegFault</primary> 641 </indexterm> 642 </listitem> 643 </varlistentry> 644 645 <varlistentry id="libanl"> 646 <term><filename class="libraryfile">libanl</filename></term> 647 <listitem> 648 <para>An asynchronous name lookup library</para> 649 <indexterm zone="ch-system-glibc libanl"> 650 <primary sortas="c-libanl">libanl</primary> 651 </indexterm> 652 </listitem> 653 </varlistentry> 654 655 <varlistentry id="libbsd-compat"> 656 <term><filename class="libraryfile">libbsd-compat</filename></term> 657 <listitem> 658 <para>Provides the portability needed in order to run certain Berkey 659 Software Distribution (BSD) programs under Linux</para> 660 <indexterm zone="ch-system-glibc libbsd-compat"> 661 <primary sortas="c-libbsd-compat">libbsd-compat</primary> 662 </indexterm> 663 </listitem> 664 </varlistentry> 665 666 <varlistentry id="libc"> 667 <term><filename class="libraryfile">libc</filename></term> 668 <listitem> 669 <para>The main C library</para> 670 <indexterm zone="ch-system-glibc libc"> 671 <primary sortas="c-libc">libc</primary> 672 </indexterm> 673 </listitem> 674 </varlistentry> 675 676 <varlistentry id="libcidn"> 677 <term><filename class="libraryfile">libcidn</filename></term> 678 <listitem> 679 <para>Used internally by Glibc for handling internationalized domain 680 names in the <function>getaddrinfo()</function> function</para> 681 <indexterm zone="ch-system-glibc libcrypt"> 682 <primary sortas="c-libcrypt">libcrypt</primary> 683 </indexterm> 684 </listitem> 685 </varlistentry> 686 687 <varlistentry id="libcrypt"> 688 <term><filename class="libraryfile">libcrypt</filename></term> 689 <listitem> 690 <para>The cryptography library</para> 691 <indexterm zone="ch-system-glibc libcrypt"> 692 <primary sortas="c-libcrypt">libcrypt</primary> 693 </indexterm> 694 </listitem> 695 </varlistentry> 696 697 <varlistentry id="libdl"> 698 <term><filename class="libraryfile">libdl</filename></term> 699 <listitem> 700 <para>The dynamic linking interface library</para> 701 <indexterm zone="ch-system-glibc libdl"> 702 <primary sortas="c-libdl">libdl</primary> 703 </indexterm> 704 </listitem> 705 </varlistentry> 706 707 <varlistentry id="libg"> 708 <term><filename class="libraryfile">libg</filename></term> 709 <listitem> 710 <para>Dummy library containing no functions. Previously was a runtime 711 library for <command>g++</command></para> 712 <indexterm zone="ch-system-glibc libg"> 713 <primary sortas="c-libg">libg</primary> 714 </indexterm> 715 </listitem> 716 </varlistentry> 717 718 <varlistentry id="libieee"> 719 <term><filename class="libraryfile">libieee</filename></term> 720 <listitem> 721 <para>Linking in this module forces error handling rules for math 722 functions as defined by the Institute of Electrical and Electronic 723 Engineers (IEEE). The default is POSIX.1 error handling</para> 724 <indexterm zone="ch-system-glibc libieee"> 725 <primary sortas="c-libieee">libieee</primary> 726 </indexterm> 727 </listitem> 728 </varlistentry> 729 730 <varlistentry id="libm"> 731 <term><filename class="libraryfile">libm</filename></term> 732 <listitem> 733 <para>The mathematical library</para> 734 <indexterm zone="ch-system-glibc libm"> 735 <primary sortas="c-libm">libm</primary> 736 </indexterm> 737 </listitem> 738 </varlistentry> 739 740 <varlistentry id="libmcheck"> 741 <term><filename class="libraryfile">libmcheck</filename></term> 742 <listitem> 743 <para>Turns on memory allocation checking when linked to</para> 744 <indexterm zone="ch-system-glibc libmcheck"> 745 <primary sortas="c-libmcheck">libmcheck</primary> 746 </indexterm> 747 </listitem> 748 </varlistentry> 749 750 <varlistentry id="libmemusage"> 751 <term><filename class="libraryfile">libmemusage</filename></term> 752 <listitem> 753 <para>Used by <command>memusage</command> to help collect 754 information about the memory usage of a program</para> 755 <indexterm zone="ch-system-glibc libmemusage"> 756 <primary sortas="c-libmemusage">libmemusage</primary> 757 </indexterm> 758 </listitem> 759 </varlistentry> 760 761 <varlistentry id="libnsl"> 762 <term><filename class="libraryfile">libnsl</filename></term> 763 <listitem> 764 <para>The network services library</para> 765 <indexterm zone="ch-system-glibc libnsl"> 766 <primary sortas="c-libnsl">libnsl</primary> 767 </indexterm> 768 </listitem> 769 </varlistentry> 770 771 <varlistentry id="libnss"> 772 <term><filename class="libraryfile">libnss</filename></term> 773 <listitem> 774 <para>The Name Service Switch libraries, containing functions for 775 resolving host names, user names, group names, aliases, services, 776 protocols, etc.</para> 777 <indexterm zone="ch-system-glibc libnss"> 778 <primary sortas="c-libnss">libnss</primary> 779 </indexterm> 780 </listitem> 781 </varlistentry> 782 783 <varlistentry id="libpcprofile"> 784 <term><filename class="libraryfile">libpcprofile</filename></term> 785 <listitem> 786 <para>Contains profiling functions used to track the amount of CPU 787 time spent in specific source code lines</para> 788 <indexterm zone="ch-system-glibc libpcprofile"> 789 <primary sortas="c-libpcprofile">libpcprofile</primary> 790 </indexterm> 791 </listitem> 792 </varlistentry> 793 794 <varlistentry id="libpthread"> 795 <term><filename class="libraryfile">libpthread</filename></term> 796 <listitem> 797 <para>The POSIX threads library</para> 798 <indexterm zone="ch-system-glibc libpthread"> 799 <primary sortas="c-libpthread">libpthread</primary> 800 </indexterm> 801 </listitem> 802 </varlistentry> 803 804 <varlistentry id="libresolv"> 805 <term><filename class="libraryfile">libresolv</filename></term> 806 <listitem> 807 <para>Contains functions for creating, sending, and interpreting 808 packets to the Internet domain name servers</para> 809 <indexterm zone="ch-system-glibc libresolv"> 810 <primary sortas="c-libresolv">libresolv</primary> 811 </indexterm> 812 </listitem> 813 </varlistentry> 814 815 <varlistentry id="librpcsvc"> 816 <term><filename class="libraryfile">librpcsvc</filename></term> 817 <listitem> 818 <para>Contains functions providing miscellaneous RPC services</para> 819 <indexterm zone="ch-system-glibc librpcsvc"> 820 <primary sortas="c-librpcsvc">librpcsvc</primary> 821 </indexterm> 822 </listitem> 823 </varlistentry> 824 825 <varlistentry id="librt"> 826 <term><filename class="libraryfile">librt</filename></term> 827 <listitem> 828 <para>Contains functions providing most of the interfaces specified 829 by the POSIX.1b Realtime Extension</para> 830 <indexterm zone="ch-system-glibc librt"> 831 <primary sortas="c-librt">librt</primary> 832 </indexterm> 833 </listitem> 834 </varlistentry> 835 836 <varlistentry id="libthread_db"> 837 <term><filename class="libraryfile">libthread_db</filename></term> 838 <listitem> 839 <para>Contains functions useful for building debuggers for 840 multi-threaded programs</para> 841 <indexterm zone="ch-system-glibc libthread_db"> 842 <primary sortas="c-libthread_db">libthread_db</primary> 843 </indexterm> 844 </listitem> 845 </varlistentry> 846 847 <varlistentry id="libutil"> 848 <term><filename class="libraryfile">libutil</filename></term> 849 <listitem> 850 <para>Contains code for <quote>standard</quote> functions used in 851 many different Unix utilities</para> 852 <indexterm zone="ch-system-glibc libutil"> 853 <primary sortas="c-libutil">libutil</primary> 854 </indexterm> 855 </listitem> 856 </varlistentry> 857 858 </variablelist> 859 860 </sect2> 720 861 721 862 </sect1> 722 -
chapter06/grep.xml
r9e58b5a0 rc310ddd 1 1 <?xml version="1.0" encoding="ISO-8859-1"?> 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" 3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ 3 4 <!ENTITY % general-entities SYSTEM "../general.ent"> 4 5 %general-entities; 5 6 ]> 7 6 8 <sect1 id="ch-system-grep" role="wrap"> 7 <title>Grep-&grep-version;</title> 8 <?dbhtml filename="grep.html"?> 9 <?dbhtml filename="grep.html"?> 9 10 10 <indexterm zone="ch-system-grep"><primary sortas="a-Grep">Grep</primary></indexterm>11 <title>Grep-&grep-version;</title> 11 12 12 <sect2 role="package"><title/> 13 <para>The Grep package contains programs for searching through files.</para> 13 <indexterm zone="ch-system-grep"> 14 <primary sortas="a-Grep">Grep</primary> 15 </indexterm> 14 16 15 <segmentedlist> 16 <segtitle>&buildtime;</segtitle> 17 <segtitle>&diskspace;</segtitle> 18 <seglistitem><seg>0.1 SBU</seg><seg>4.5 MB</seg></seglistitem> 19 </segmentedlist> 17 <sect2 role="package"> 18 <title/> 20 19 21 <segmentedlist> 22 <segtitle>&dependencies;</segtitle> 23 <seglistitem><seg>Bash, Binutils, Coreutils, 24 Diffutils, GCC, Gettext, Glibc, Make, Sed, and Texinfo</seg></seglistitem> 25 </segmentedlist> 26 </sect2> 20 <para>The Grep package contains programs for searching through files.</para> 27 21 28 <sect2 role="installation"> 29 <title>Installation of Grep</title> 22 <segmentedlist> 23 <segtitle>&buildtime;</segtitle> 24 <segtitle>&diskspace;</segtitle> 30 25 31 <para>The current Grep package has many bugs, especially in the support of 32 multibyte locales. RedHat fixed some of them with the following patch:</para> 26 <seglistitem> 27 <seg>0.1 SBU</seg> 28 <seg>4.5 MB</seg> 29 </seglistitem> 30 </segmentedlist> 31 32 <segmentedlist> 33 <segtitle>&dependencies;</segtitle> 34 35 <seglistitem> 36 <seg>Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Make, 37 Sed, and Texinfo</seg> 38 </seglistitem> 39 </segmentedlist> 40 41 </sect2> 42 43 <sect2 role="installation"> 44 <title>Installation of Grep</title> 45 46 <para>The current Grep package has many bugs, especially in the support of 47 multibyte locales. RedHat fixed some of them with the following patch:</para> 33 48 34 49 <screen><userinput>patch -Np1 -i ../&grep-fixes-patch;</userinput></screen> 35 50 36 <para>In order for the tests added by this patch to pass, the permissions for37 the test file have to be changed:</para>51 <para>In order for the tests added by this patch to pass, the permissions for 52 the test file have to be changed:</para> 38 53 39 54 <screen><userinput>chmod +x tests/fmbtest.sh</userinput></screen> 40 55 41 <para>Prepare Grep for compilation:</para>56 <para>Prepare Grep for compilation:</para> 42 57 43 58 <screen><userinput>./configure --prefix=/usr --bindir=/bin</userinput></screen> 44 59 45 <para>Compile the package:</para>60 <para>Compile the package:</para> 46 61 47 62 <screen><userinput>make</userinput></screen> 48 63 49 <para>To test the results, issue:50 <userinput>make check</userinput>.</para>64 <para>To test the results, issue: 65 <userinput>make check</userinput>.</para> 51 66 52 <para>Install the package:</para>67 <para>Install the package:</para> 53 68 54 69 <screen><userinput>make install</userinput></screen> 55 70 56 </sect2>71 </sect2> 57 72 73 <sect2 id="contents-grep" role="content"> 74 <title>Contents of Grep</title> 58 75 59 <sect2 id="contents-grep" role="content"><title>Contents of Grep</title> 76 <segmentedlist> 77 <segtitle>Installed programs</segtitle> 60 78 61 <segmentedlist>62 <segtitle>Installed programs</segtitle>63 <seglistitem><seg>egrep (link to grep), fgrep (link to grep), and grep</seg></seglistitem>64 </segmentedlist>79 <seglistitem> 80 <seg>egrep (link to grep), fgrep (link to grep), and grep</seg> 81 </seglistitem> 82 </segmentedlist> 65 83 66 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> 67 <?dbfo list-presentation="list"?> 68 <?dbhtml list-presentation="table"?> 84 <variablelist> 85 <bridgehead renderas="sect3">Short Descriptions</bridgehead> 86 <?dbfo list-presentation="list"?> 87 <?dbhtml list-presentation="table"?> 69 88 70 <varlistentry id="egrep"> 71 <term><command>egrep</command></term> 72 <listitem> 73 <para>Prints lines matching an extended regular expression</para> 74 <indexterm zone="ch-system-grep egrep"><primary sortas="b-egrep">egrep</primary></indexterm> 75 </listitem> 76 </varlistentry> 89 <varlistentry id="egrep"> 90 <term><command>egrep</command></term> 91 <listitem> 92 <para>Prints lines matching an extended regular expression</para> 93 <indexterm zone="ch-system-grep egrep"> 94 <primary sortas="b-egrep">egrep</primary> 95 </indexterm> 96 </listitem> 97 </varlistentry> 77 98 78 <varlistentry id="fgrep"> 79 <term><command>fgrep</command></term> 80 <listitem> 81 <para>Prints lines matching a list of fixed strings</para> 82 <indexterm zone="ch-system-grep fgrep"><primary sortas="b-fgrep">fgrep</primary></indexterm> 83 </listitem> 84 </varlistentry> 99 <varlistentry id="fgrep"> 100 <term><command>fgrep</command></term> 101 <listitem> 102 <para>Prints lines matching a list of fixed strings</para> 103 <indexterm zone="ch-system-grep fgrep"> 104 <primary sortas="b-fgrep">fgrep</primary> 105 </indexterm> 106 </listitem> 107 </varlistentry> 85 108 86 <varlistentry id="grep"> 87 <term><command>grep</command></term> 88 <listitem> 89 <para>Prints lines matching a basic regular expression</para> 90 <indexterm zone="ch-system-grep grep"><primary sortas="b-grep">grep</primary></indexterm> 91 </listitem> 92 </varlistentry> 93 </variablelist> 109 <varlistentry id="grep"> 110 <term><command>grep</command></term> 111 <listitem> 112 <para>Prints lines matching a basic regular expression</para> 113 <indexterm zone="ch-system-grep grep"> 114 <primary sortas="b-grep">grep</primary> 115 </indexterm> 116 </listitem> 117 </varlistentry> 94 118 95 </sect2> 119 </variablelist> 120 121 </sect2> 96 122 97 123 </sect1> 98
Note:
See TracChangeset
for help on using the changeset viewer.