Changeset fba1478 for chapter05/glibc.xml
- Timestamp:
- 12/20/2004 05:23:16 PM (19 years ago)
- Branches:
- 10.0, 10.0-rc1, 10.1, 10.1-rc1, 11.0, 11.0-rc1, 11.0-rc2, 11.0-rc3, 11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, 12.0, 12.0-rc1, 12.1, 12.1-rc1, 6.1, 6.1.1, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.5-systemd, 7.6, 7.6-systemd, 7.7, 7.7-systemd, 7.8, 7.8-systemd, 7.9, 7.9-systemd, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, arm, bdubbs/gcc13, ml-11.0, multilib, renodr/libudev-from-systemd, s6-init, trunk, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/lfs-next, xry111/loongarch, xry111/loongarch-12.0, xry111/loongarch-12.1, xry111/mips64el, xry111/pip3, xry111/rust-wip-20221008, xry111/update-glibc
- Children:
- 24244831
- Parents:
- 6790655
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter05/glibc.xml
r6790655 rfba1478 13 13 14 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 15 17 16 <segmentedlist> … … 21 20 </segmentedlist> 22 21 23 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>24 25 22 </sect2> 26 23 27 24 <sect2 role="installation"> 28 25 <title>Installation of Glibc</title> 29 30 <para>This package is known to behave badly when you change its default31 optimization flags (including the <parameter>-march</parameter> and32 <parameter>-mcpu</parameter> options). Therefore, if you have defined any33 environment variables that override default optimizations, such as CFLAGS and34 CXXFLAGS, we recommend un-setting them when building Glibc.</para>35 36 <para>Basically, compiling Glibc in any other way than the book suggests37 is putting the stability of your system at risk.</para>38 39 <para>The Glibc documentation recommends building Glibc outside of the source40 directory in a dedicated build directory:</para>41 26 42 27 <screen><userinput>mkdir ../glibc-build … … 50 35 --without-gd --without-cvs --with-headers=/tools/include</userinput></screen> 51 36 52 <para>The meaning of the configure options:</para>53 54 <variablelist>55 <varlistentry>56 <term><parameter>--disable-profile</parameter></term>57 <listitem><para>This builds the58 libraries without profiling information. Omit this option if you plan to do59 profiling on the temporary tools.</para></listitem>60 </varlistentry>61 62 <varlistentry>63 <term><parameter>--enable-add-ons</parameter></term>64 <listitem><para>This tells Glibc to use the add-on' that it can use like NPTL65 as its threading library.</para></listitem>66 </varlistentry>67 68 <varlistentry>69 <term><parameter>--enable-kernel=2.6.0</parameter></term>70 <listitem><para>This tells Glibc to compile the library for support of71 linux 2.6.x kernels.72 </para></listitem>73 </varlistentry>74 75 <varlistentry>76 <term><parameter>--with-binutils=/tools/bin</parameter></term>77 <listitem><para>Strictly speaking this switch is not required. But it does ensure78 nothing can go wrong with regard to what Binutils programs get used during the79 Glibc build.</para></listitem>80 </varlistentry>81 82 <varlistentry>83 <term><parameter>--without-gd</parameter></term>84 <listitem><para>This prevents the build of the <command>memusagestat</command>85 program, which strangely enough insists on linking against the host's libraries86 (libgd, libpng, libz, and so forth). </para></listitem>87 </varlistentry>88 89 <varlistentry>90 <term><parameter>--without-cvs</parameter></term>91 <listitem><para>This is meant to prevent92 the Makefiles from attempting automatic CVS checkouts when using a CVS93 snapshot. But it's not actually needed these days. We use it because it94 suppresses an annoying but harmless warning about a missing95 <command>autoconf</command> program.</para></listitem>96 </varlistentry>97 98 <varlistentry>99 <term><parameter>--with-headers=/tools/include</parameter></term>100 <listitem><para>This forces glibc to use the linux-libc-headers installed101 in /tools/include, rather than those on the host, which may be too old to102 support needed functionality.</para></listitem>103 </varlistentry>104 105 </variablelist>106 107 <para>During this stage you might see the following warning:</para>108 109 <blockquote><screen><computeroutput>configure: WARNING:110 *** These auxiliary programs are missing or incompatible versions: msgfmt111 *** some features will be disabled.112 *** Check the INSTALL file for required versions.</computeroutput></screen></blockquote>113 114 <para>The missing or incompatible <command>msgfmt</command> program is115 generally harmless, but it's believed it can sometimes cause problems when116 running the test suite.</para>117 118 37 <para>Compile the package:</para> 119 38 120 39 <screen><userinput>make</userinput></screen> 121 122 <para>Compilation is now complete. As mentioned earlier, running the test suites123 for the temporary tools installed in this chapter is not mandatory. If you want124 to run the Glibc test suite though, the following command will do so:</para>125 40 126 41 <screen><userinput>make check</userinput></screen> … … 128 43 <para>For a discussion of test failures that are of particular 129 44 importance, please see <xref linkend="ch-system-glibc"/>.</para> 130 131 <para>In this chapter, some tests can be adversely affected by existing tools or132 environmental issues on the host system. In short, don't worry too much if you133 see Glibc test suite failures in this chapter. The Glibc in134 <xref linkend="chapter-building-system"/> is the one we'll ultimately end up135 using, so that is the one we would really like to see pass the tests (but even136 there some failures could still occur -- the <emphasis>math</emphasis> tests,137 for example).</para>138 139 <para>When experiencing a failure, make a note of it, then continue by reissuing140 the <command>make check</command>. The test suite should pick up where it left141 off and continue. You can circumvent this stop-start sequence by issuing a142 <command>make -k check</command>. If you do that though, be sure to log the143 output so that you can later peruse the log file and examine the total number of144 failures.</para>145 146 <para>Though it is a harmless message, the install stage of Glibc will at the147 end complain about the absence of <filename>/tools/etc/ld.so.conf</filename>.148 Prevent this confusing little warning with:</para>149 45 150 46 <screen><userinput>mkdir /tools/etc … … 155 51 <screen><userinput>make install</userinput></screen> 156 52 157 <para>Different countries and cultures have varying conventions for how to 158 communicate. These conventions range from very simple ones, such as the format 159 for representing dates and times, to very complex ones, such as the language 160 spoken. The <quote>internationalization</quote> of GNU programs works by means 161 of <emphasis>locales</emphasis>.</para> 162 163 <note><para>If you are not running the test suites here in this chapter as per 164 our recommendation, there is little point in installing the locales now. We'll 165 be installing the locales in the next chapter.</para></note> 166 167 <para>If you still want to install the Glibc locales anyway, the following 168 command will do so:</para> 53 <para>To install the Glibc locales, use the following 54 command:</para> 169 55 170 56 <screen><userinput>make localedata/install-locales</userinput></screen> 171 57 172 58 <para>An alternative to running the previous command is to install only those 173 locales which you need or want. This can be achieved by using the 174 <command>localedef</command> command. Information on this can be found in 175 the <filename>INSTALL</filename> file in the Glibc source. However, there are 176 a number of locales that are essential for the tests of future packages to 177 pass, in particular, the <emphasis>libstdc++</emphasis> tests from GCC. The 178 following instructions, instead of the install-locales target above, will 179 install the minimum set of locales necessary for the tests to run 180 successfully:</para> 59 locales which you need or want. The following instructions, instead of the 60 install-locales target above, will install the minimum set of locales necessary 61 for the tests to run successfully:</para> 181 62 182 63 <screen><userinput>mkdir -p /tools/lib/locale … … 195 76 </sect2> 196 77 197 <sect2 role="content"><title/>198 <para>The details on this package are found in <xref linkend="contents-glibc"/>.</para>199 </sect2>200 201 78 </sect1>
Note:
See TracChangeset
for help on using the changeset viewer.