Changeset d096eb1 for chapter05/glibc.xml
- Timestamp:
- 01/20/2006 09:03:20 PM (19 years ago)
- Children:
- d1ae0cb
- Parents:
- f658b21
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter05/glibc.xml
rf658b21 rd096eb1 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-tools-glibc" role="wrap"> 7 <title>Glibc-&glibc-version;</title> 8 <?dbhtml filename="glibc.html"?> 9 10 <indexterm zone="ch-tools-glibc"> 11 <primary sortas="a-Glibc">Glibc</primary> 12 <secondary>tools</secondary></indexterm> 13 14 <sect2 role="package"><title/> 15 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/> 16 17 <segmentedlist> 18 <segtitle>&buildtime;</segtitle> 19 <segtitle>&diskspace;</segtitle> 20 <seglistitem><seg>11.8 SBU</seg><seg>454 MB</seg></seglistitem> 21 </segmentedlist> 22 23 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/> 24 25 </sect2> 26 27 <sect2 role="installation"> 28 <title>Installation of Glibc</title> 29 30 <para>The Glibc documentation recommends building Glibc outside of the source 31 directory in a dedicated build directory:</para> 9 <?dbhtml filename="glibc.html"?> 10 11 <title>Glibc-&glibc-version;</title> 12 13 <indexterm zone="ch-tools-glibc"> 14 <primary sortas="a-Glibc">Glibc</primary> 15 <secondary>tools</secondary> 16 </indexterm> 17 18 <sect2 role="package"> 19 <title/> 20 21 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 22 href="../chapter06/glibc.xml" 23 xpointer="xpointer(/sect1/sect2[1]/para[1])"/> 24 25 <segmentedlist> 26 <segtitle>&buildtime;</segtitle> 27 <segtitle>&diskspace;</segtitle> 28 29 <seglistitem> 30 <seg>11.8 SBU</seg> 31 <seg>454 MB</seg> 32 </seglistitem> 33 </segmentedlist> 34 35 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 36 href="../chapter06/glibc.xml" 37 xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/> 38 39 </sect2> 40 41 <sect2 role="installation"> 42 <title>Installation of Glibc</title> 43 44 <para>The Glibc documentation recommends building Glibc outside of the source 45 directory in a dedicated build directory:</para> 32 46 33 47 <screen><userinput>mkdir -v ../glibc-build 34 48 cd ../glibc-build</userinput></screen> 35 49 36 <para>Next, prepare Glibc for compilation:</para>50 <para>Next, prepare Glibc for compilation:</para> 37 51 38 52 <screen><userinput>../glibc-&glibc-version;/configure --prefix=/tools \ … … 42 56 --without-selinux</userinput></screen> 43 57 44 <para>The meaning of the configure options:</para> 45 46 <variablelist> 47 <varlistentry> 48 <term><parameter>--disable-profile</parameter></term> 49 <listitem><para>This builds the libraries without profiling 50 information. Omit this option if profiling on the temporary tools is 51 necessary.</para></listitem> 52 </varlistentry> 53 54 <varlistentry> 55 <term><parameter>--enable-add-ons</parameter></term> 56 <listitem><para>This tells Glibc to use the NPTL add-on as its threading 57 library.</para></listitem> 58 </varlistentry> 59 60 <varlistentry> 61 <term><parameter>--enable-kernel=2.6.0</parameter></term> 62 <listitem><para>This tells Glibc to compile the library with support 63 for 2.6.x Linux kernels.</para></listitem> 64 </varlistentry> 65 66 <varlistentry> 67 <term><parameter>--with-binutils=/tools/bin</parameter></term> 68 <listitem><para>While not required, this switch ensures that there are 69 no errors pertaining to which Binutils programs get used during the 70 Glibc build.</para></listitem> 71 </varlistentry> 72 73 <varlistentry> 74 <term><parameter>--without-gd</parameter></term> 75 <listitem><para>This prevents the build of the 76 <command>memusagestat</command> program, which insists on linking 77 against the host's libraries (libgd, libpng, libz, 78 etc.).</para></listitem> 79 </varlistentry> 80 81 <varlistentry> 82 <term><parameter>--with-headers=/tools/include</parameter></term> 83 <listitem><para>This tells Glibc to compile itself against the headers recently 84 installed to the tools directory, so that it knows exactly what features the 85 kernel has and can optimize itself accordingly.</para></listitem> 86 </varlistentry> 87 88 <varlistentry> 89 <term><parameter>--without-selinux</parameter></term> 90 <listitem><para>When building from hosts that include SELinux functionality 91 (e.g., Fedora Core 3), Glibc will build with support for SELinux. As the LFS 92 tools environment does not contain support for SELinux, a Glibc compiled with 93 such support will fail to operate correctly.</para></listitem> 94 </varlistentry> 95 </variablelist> 96 97 <para>During this stage the following warning might appear:</para> 98 99 <blockquote><screen><computeroutput>configure: WARNING: 100 *** These auxiliary programs are missing or 58 <variablelist> 59 <title>The meaning of the configure options:</title> 60 61 <varlistentry> 62 <term><parameter>--disable-profile</parameter></term> 63 <listitem> 64 <para>This builds the libraries without profiling information. Omit 65 this option if profiling on the temporary tools is necessary.</para> 66 </listitem> 67 </varlistentry> 68 69 <varlistentry> 70 <term><parameter>--enable-add-ons</parameter></term> 71 <listitem> 72 <para>This tells Glibc to use the NPTL add-on as its threading 73 library.</para> 74 </listitem> 75 </varlistentry> 76 77 <varlistentry> 78 <term><parameter>--enable-kernel=2.6.0</parameter></term> 79 <listitem> 80 <para>This tells Glibc to compile the library with support 81 for 2.6.x Linux kernels.</para> 82 </listitem> 83 </varlistentry> 84 85 <varlistentry> 86 <term><parameter>--with-binutils=/tools/bin</parameter></term> 87 <listitem> 88 <para>While not required, this switch ensures that there are 89 no errors pertaining to which Binutils programs get used during the 90 Glibc build.</para> 91 </listitem> 92 </varlistentry> 93 94 <varlistentry> 95 <term><parameter>--without-gd</parameter></term> 96 <listitem> 97 <para>This prevents the build of the <command>memusagestat</command> 98 program, which insists on linking against the host's libraries 99 (libgd, libpng, libz, etc.).</para> 100 </listitem> 101 </varlistentry> 102 103 <varlistentry> 104 <term><parameter>--with-headers=/tools/include</parameter></term> 105 <listitem> 106 <para>This tells Glibc to compile itself against the headers recently 107 installed to the tools directory, so that it knows exactly what 108 features the kernel has and can optimize itself accordingly.</para> 109 </listitem> 110 </varlistentry> 111 112 <varlistentry> 113 <term><parameter>--without-selinux</parameter></term> 114 <listitem> 115 <para>When building from hosts that include SELinux functionality 116 (e.g., Fedora Core 3), Glibc will build with support for SELinux. 117 As the LFS tools environment does not contain support for SELinux, a 118 Glibc compiled with such support will fail to operate correctly.</para> 119 </listitem> 120 </varlistentry> 121 122 </variablelist> 123 124 <para>During this stage the following warning might appear:</para> 125 126 <blockquote> 127 <screen><computeroutput>configure: WARNING: 128 *** These auxiliary programs are missing or 101 129 *** incompatible versions: msgfmt 102 130 *** some features will be disabled. 103 *** Check the INSTALL file for required versions.</computeroutput></screen></blockquote> 104 105 <para>The missing or incompatible <command>msgfmt</command> program is 106 generally harmless, but it can sometimes cause issues when running the 107 test suite. This <command>msgfmt</command> program is part of the 108 Gettext package which the host distribution should provide. If 109 <command>msgfmt</command> is present but deemed incompatible, upgrade 110 the host system's Gettext package or continue without it and see if 111 the test suite runs without problems regardless.</para> 112 113 <para>Compile the package:</para> 131 *** Check the INSTALL file for required versions.</computeroutput></screen> 132 </blockquote> 133 134 <para>The missing or incompatible <command>msgfmt</command> program is 135 generally harmless, but it can sometimes cause issues when running the 136 test suite. This <command>msgfmt</command> program is part of the 137 Gettext package which the host distribution should provide. If 138 <command>msgfmt</command> is present but deemed incompatible, upgrade 139 the host system's Gettext package or continue without it and see if 140 the test suite runs without problems regardless.</para> 141 142 <para>Compile the package:</para> 114 143 115 144 <screen><userinput>make</userinput></screen> 116 145 117 <para>Compilation is now complete. As mentioned earlier, running the118 test suites for the temporary tools installed in this chapter is not119 mandatory. To run the Glibc test suite (if desired), the following120 command will do so:</para>146 <para>Compilation is now complete. As mentioned earlier, running the 147 test suites for the temporary tools installed in this chapter is not 148 mandatory. To run the Glibc test suite (if desired), the following 149 command will do so:</para> 121 150 122 151 <screen><userinput>make check</userinput></screen> 123 152 124 <para>For a discussion of test failures that are of particular 125 importance, please see <xref linkend="ch-system-glibc" role="."/></para> 126 127 <para>In this chapter, some tests can be adversely affected by 128 existing tools or environmental issues on the host system. Glibc test 129 suite failures in this chapter are typically not worrisome. The Glibc 130 installed in <xref linkend="chapter-building-system"/> is the one that 131 will ultimately end up being used, so that is the one that needs to pass 132 most tests (even in <xref linkend="chapter-building-system"/>, some 133 failures could still occur, for example, with the math tests).</para> 134 135 <para>When experiencing a failure, make a note of it, then continue by 136 reissuing the <command>make check</command> command. The test suite should pick up where it left 137 off and continue. This stop-start sequence can be circumvented by 138 issuing a <command>make -k check</command> command. If using this option, be sure to log the 139 output so that the log file can be examined for failures later.</para> 140 141 <para>The install stage of Glibc will issue a harmless warning at the 142 end about the absence of <filename>/tools/etc/ld.so.conf</filename>. 143 Prevent this warning with:</para> 153 <para>For a discussion of test failures that are of particular 154 importance, please see <xref linkend="ch-system-glibc" role="."/></para> 155 156 <para>In this chapter, some tests can be adversely affected by 157 existing tools or environmental issues on the host system. Glibc test 158 suite failures in this chapter are typically not worrisome. The Glibc 159 installed in <xref linkend="chapter-building-system"/> is the one that 160 will ultimately end up being used, so that is the one that needs to pass 161 most tests (even in <xref linkend="chapter-building-system"/>, some 162 failures could still occur, for example, with the math tests).</para> 163 164 <para>When experiencing a failure, make a note of it, then continue by 165 reissuing the <command>make check</command> command. The test suite 166 should pick up where it left off and continue. This stop-start sequence 167 can be circumvented by issuing a <command>make -k check</command> command. 168 If using this option, be sure to log the output so that the log file can 169 be examined for failures later.</para> 170 171 <para>The install stage of Glibc will issue a harmless warning at the 172 end about the absence of <filename>/tools/etc/ld.so.conf</filename>. 173 Prevent this warning with:</para> 144 174 145 175 <screen><userinput>mkdir -v /tools/etc 146 176 touch /tools/etc/ld.so.conf</userinput></screen> 147 177 148 <para>Install the package:</para>178 <para>Install the package:</para> 149 179 150 180 <screen><userinput>make install</userinput></screen> 151 181 152 <para>Different countries and cultures have varying conventions for 153 how to communicate. These conventions range from the format for 154 representing dates and times to more complex issues, such as the 155 language spoken. The <quote>internationalization</quote> of GNU 156 programs works by locale.</para> 157 158 <note><para>If the test suites are not being run in this chapter (as 159 per the recommendation), there is no need to install the locales now. 160 The appropriate locales will be installed in the next 161 chapter. To install the Glibc locales anyway, use instructions from 162 <xref linkend="ch-system-glibc" role="."/> 163 </para></note> 164 165 </sect2> 166 167 <sect2 role="content"><title/> 168 <para>Details on this package are located in <xref 169 linkend="contents-glibc" role="."/></para> 170 </sect2> 182 <para>Different countries and cultures have varying conventions for 183 how to communicate. These conventions range from the format for 184 representing dates and times to more complex issues, such as the 185 language spoken. The <quote>internationalization</quote> of GNU 186 programs works by locale.</para> 187 188 <note> 189 <para>If the test suites are not being run in this chapter (as per 190 the recommendation), there is no need to install the locales now. 191 The appropriate locales will be installed in the next chapter. 192 To install the Glibc locales anyway, use instructions from 193 <xref linkend="ch-system-glibc" role="."/></para> 194 </note> 195 196 </sect2> 197 198 <sect2 role="content"> 199 <title/> 200 201 <para>Details on this package are located in 202 <xref linkend="contents-glibc" role="."/></para> 203 204 </sect2> 171 205 172 206 </sect1> 173
Note:
See TracChangeset
for help on using the changeset viewer.