| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 | <sect2><title> </title><para> </para></sect2><sect2><title>Glibc installation</title><para>The Glibc build system is very well self-contained and will installperfectly, even though our compiler specs file and linker scripts are stillpointing at <filename>/tools</filename>. We cannot adjust the specs andldscripts before the Glibc install, because the Glibc autoconf tests would thengive bogus results and thus defeat our goal of achieving a clean build.</para><para>Before starting to build Glibc, remember to unpack the Glibc-linuxthreadsagain inside the <filename>glibc-&glibc-version;</filename> directory, and tounset any environment variables that override the default optimizationflags.</para><para>Then apply the same patch we used previously:</para>                                                                                <para><screen><userinput>patch -Np1 -i ../glibc-2.3.2-sscanf-1.patch</userinput></screen></para><para>The documentation that comes with Glibc recommends to build the packagenot in the source directory but in a separate, dedicated directory:</para><para><screen><userinput>mkdir ../glibc-buildcd ../glibc-build</userinput></screen></para><para>Now prepare Glibc for compilation:</para><para><screen><userinput>../glibc-&glibc-version;/configure --prefix=/usr \    --disable-profile --enable-add-ons \    --libexecdir=/usr/bin --with-headers=/usr/include</userinput></screen></para><para>The meaning of the configure options:</para><itemizedlist><listitem><para><userinput>--disable-profile</userinput>: This disables thebuilding of the libraries with profiling information. Omit this option if youplan to do profiling.</para></listitem><listitem><para><userinput>--enable-add-ons</userinput>: This enables anyadd-ons that we installed with Glibc, in our case Linuxthreads.</para></listitem><listitem><para><userinput>--libexecdir=/usr/bin</userinput>: This willcause the <filename>pt_chown</filename> program to be installed in the<filename>/usr/bin</filename> directory.</para></listitem><listitem><para><userinput>--with-headers=/usr/include</userinput>: Thisensures that the kernel headers in <filename>/usr/include</filename> are usedfor this build. If you don't pass this switch then the headers from<filename>/tools/include</filename> are used which of course is not ideal(although they should be identical). Using the switch has the advantagethat you will be informed immediately should you have forgotten to install thekernel headers into <filename>/usr/include</filename>.</para></listitem></itemizedlist><para>Compile the package:</para><para><screen><userinput>make</userinput></screen></para><para>Test the results:</para><para><screen><userinput>make check</userinput></screen></para><para>And install the package:</para><para><screen><userinput>make install</userinput></screen></para><para>The locales that can make your system respond in a different languageweren't installed by the above command. Do it with this:</para><para><screen><userinput>make localedata/install-locales</userinput></screen></para><para>An alternative to running the previous command is to install only thoselocales which you need or want. This can be achieved using the<userinput>localedef</userinput> command. Information on this can be found inthe <filename>INSTALL</filename> file in the<filename>glibc-&glibc-version;</filename> tree.</para><para>Finally, build the linuxthreads man pages:</para><para><screen><userinput>make -C ../glibc-2.3.2/linuxthreads/man</userinput></screen></para><para>And install these pages:</para><para><screen><userinput>make -C ../glibc-2.3.2/linuxthreads/man install</userinput></screen></para></sect2>
 |