Author: jim Date: 2005-05-13 09:55:46 -0600 (Fri, 13 May 2005) New Revision: 5325
Added: branches/cross-lfs/BOOK/cross-tools/sparc64/glibc.xml Modified: branches/cross-lfs/BOOK/cross-tools/sparc64-chapter.xml Log: Added file that I forgot to commit Updated sparc64 chapter to use the file I forgot to commit Added: branches/cross-lfs/BOOK/cross-tools/sparc64/glibc.xml =================================================================== --- branches/cross-lfs/BOOK/cross-tools/sparc64/glibc.xml 2005-05-13 15:51:35 UTC (rev 5324) +++ branches/cross-lfs/BOOK/cross-tools/sparc64/glibc.xml 2005-05-13 15:55:46 UTC (rev 5325) @@ -0,0 +1,151 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ + <!ENTITY % general-entities SYSTEM "../../general.ent"> + <!ENTITY % patches-entities SYSTEM "../../patches.ent"> + %general-entities; + %patches-entities; +]> + +<sect1 id="ch-cross-tools-glibc" role="wrap"> +<title>Glibc-&glibc-version;</title> +<?dbhtml filename="glibc.html"?> + +<indexterm zone="ch-cross-tools-glibc"> +<primary sortas="a-Glibc">Glibc</primary> +<secondary>cross tools</secondary></indexterm> + +<sect2 role="package"><title/> +<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/> + +<segmentedlist> +<segtitle>&buildtime;</segtitle> +<segtitle>&diskspace;</segtitle> +<seglistitem><seg>11.8 SBU</seg><seg>800 MB</seg></seglistitem> +</segmentedlist> + +<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../../final-system/x86/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/> + +</sect2> + +<sect2 role="installation"> +<title>Installation of Glibc</title> + +<para>This package is known to have issues when its default +optimization flags (including the <parameter>-march</parameter> and +<parameter>-mcpu</parameter> options) are changed. If any environment +variables that override default optimizations have been defined, such +as <envar>CFLAGS</envar> and <envar>CXXFLAGS</envar>, +unset them when building Glibc.</para> + +<para>It should be noted that compiling Glibc in any way other than +the method suggested in this book puts the stability of the system at +risk.</para> + +<para>This architecture does not currently support NPTL, +so we will have to include Glibc Linuxthreads as a threading library. +Building for a Linuxthreads based glibc you will need to +unpack the glibc-linuxthreads-&glibc-version; tarball from +within the glibc-&glibc-version; directory.</para> + +<para>NPTL is not supported under this architecture, so we are going to +remove the nptl directory from the Glibc source:</para> + +<screen><userinput>rm -rf nptl*</userinput></screen> + +<para>The Glibc documentation recommends building Glibc outside of the source +directory in a dedicated build directory:</para> + +<screen><userinput>mkdir ../glibc-build +cd ../glibc-build</userinput></screen> + +<para>Next, prepare Glibc for compilation:</para> + +<screen><userinput>CC="${LFS_TARGET}-gcc ${BUILD32}" \ + AR="${LFS_TARGET}-ar" RANLIB="${LFS_TARGET}-ranlib" \ + ../glibc-&glibc-version;/configure --prefix=/tools \ + --host="sparcv9-unknown-linux-gnu" --build=${LFS_HOST} \ + --without-cvs --disable-profile --enable-add-ons \ + --enable-kernel=2.6.0 --with-binutils=/cross-tools/bin \ + --with-headers=/tools/include --without-gd \ + --mandir=/tools/share/man --infodir=/tools/share/info \ + --libexecdir=/tools/lib/glibc</userinput></screen> + +<para>The meaning of the configure options:</para> + +<variablelist> +<varlistentry> +<term><parameter>--disable-profile</parameter></term> +<listitem><para>This builds the libraries without profiling +information. Omit this option if profiling on the temporary tools is +necessary.</para></listitem> +</varlistentry> + +<varlistentry> +<term><parameter>--enable-add-ons</parameter></term> +<listitem><para>This tells Glibc to use the NPTL add-on as its threading +library.</para></listitem> +</varlistentry> + +<varlistentry> +<term><parameter>--enable-kernel=2.6.0</parameter></term> +<listitem><para>This tells Glibc to compile the library with support +for 2.6.x Linux kernels.</para></listitem> +</varlistentry> + +<varlistentry> +<term><parameter>--with-binutils=/cross-tools/bin</parameter></term> +<listitem><para>While not required, this switch ensures that there are +no errors pertaining to which Binutils programs get used during the +Glibc build.</para></listitem> +</varlistentry> + +<varlistentry> +<term><parameter>--without-gd</parameter></term> +<listitem><para>This prevents the build of the +<command>memusagestat</command> program, which insists on linking +against the host's libraries (libgd, libpng, libz, +etc.).</para></listitem> +</varlistentry> + +<varlistentry> +<term><parameter>--with-headers=/tools/include</parameter></term> +<listitem><para>This tells Glibc to compile itself against the headers recently +installed to the tools directory, so that it knows exactly what features the +kernel has and can optimize itself accordingly.</para></listitem> +</varlistentry> + +</variablelist> + +<para>During this stage the following warning might appear:</para> + +<blockquote><screen><computeroutput>configure: WARNING: +*** These auxiliary programs are missing or +*** incompatible versions: msgfmt +*** some features will be disabled. +*** Check the INSTALL file for required versions.</computeroutput></screen></blockquote> + +<para>The missing or incompatible <command>msgfmt</command> program is +generally harmless, but it can sometimes cause issues when running the +test suite. This <command>msgfmt</command> program is part of the +Gettext package which the host distribution should provide. If +<command>msgfmt</command> is present but deemed incompatible, upgrade +the host system's Gettext package or continue without it and see if +the test suite runs without problems regardless.</para> + +<para>Compile the package:</para> + +<screen><userinput>make</userinput></screen> + +<para>Install the package:</para> + +<screen><userinput>make install</userinput></screen> + +</sect2> + +<sect2 role="content"><title/> +<para>Details on this package are located in <xref +linkend="contents-glibc" role="."/></para> +</sect2> + +</sect1> + Modified: branches/cross-lfs/BOOK/cross-tools/sparc64-chapter.xml =================================================================== --- branches/cross-lfs/BOOK/cross-tools/sparc64-chapter.xml 2005-05-13 15:51:35 UTC (rev 5324) +++ branches/cross-lfs/BOOK/cross-tools/sparc64-chapter.xml 2005-05-13 15:55:46 UTC (rev 5325) @@ -19,7 +19,7 @@ <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sparc64/glibc-startfiles.xml"/> <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="multilib/glibc-startfiles-linuxthreads-64bit.xml"/> <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sparc64/gcc-shared.xml"/> -<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="multilib/glibc-linuxthreads.xml"/> +<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sparc64/glibc.xml"/> <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="multilib/glibc-linuxthreads-64bit.xml"/> <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sparc64/gcc-final.xml"/> -- http://linuxfromscratch.org/mailman/listinfo/lfs-book FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
