r5271 - branches/cross-lfs/BOOK/cross-tools

jhuntwork at linuxfromscratch.org jhuntwork at linuxfromscratch.org
Mon May 9 06:08:46 PDT 2005


Author: jhuntwork
Date: 2005-05-09 07:08:45 -0600 (Mon, 09 May 2005)
New Revision: 5271

Added:
   branches/cross-lfs/BOOK/cross-tools/glibc-64-sparc64.xml
Log:
Actually added the file this time

Added: branches/cross-lfs/BOOK/cross-tools/glibc-64-sparc64.xml
===================================================================
--- branches/cross-lfs/BOOK/cross-tools/glibc-64-sparc64.xml	2005-05-09 13:08:09 UTC (rev 5270)
+++ branches/cross-lfs/BOOK/cross-tools/glibc-64-sparc64.xml	2005-05-09 13:08:45 UTC (rev 5271)
@@ -0,0 +1,153 @@
+<?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">
+  %general-entities;
+]>
+<sect1 id="ch-cross-tools-glibc-64" role="wrap">
+<title>Glibc-&glibc-version; 64-Bit</title>
+<?dbhtml filename="glibc64.html"?>
+
+<indexterm zone="ch-cross-tools-glibc-64">
+<primary sortas="a-Glibc">Glibc 64-Bit</primary>
+<secondary>cross tools</secondary></indexterm>
+
+<sect2 role="package"><title/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../final-system/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/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>The following command will ensure that glibc uses /tools/lib64 for its
+shared libraries:</para>
+
+<screen><userinput>echo "slibdir=/tools/lib64" > configparms</userinput></screen>
+
+<para>Next, prepare Glibc for compilation:</para>
+
+<screen><userinput>CC="${LFS_TARGET}-gcc -m64 -mcpu=ultrasparc -mtune=ultrasparc" \
+    AR="${LFS_TARGET}-ar" RANLIB="${LFS_TARGET}-ranlib" \
+    ../glibc-&glibc-version;/configure --prefix=/tools --libdir=/tools/lib64 \
+    --host=${LFS_TARGET} --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>
+




More information about the lfs-book mailing list