r5315 - in branches/cross-lfs/BOOK: cross-tools/common cross-tools/raq2 temp-tools

jim at linuxfromscratch.org jim at linuxfromscratch.org
Thu May 12 13:14:44 PDT 2005


Author: jim
Date: 2005-05-12 14:14:44 -0600 (Thu, 12 May 2005)
New Revision: 5315

Added:
   branches/cross-lfs/BOOK/cross-tools/common/glibc-linuxthreads.xml
   branches/cross-lfs/BOOK/cross-tools/common/glibc-startfiles-linuxthreads.xml
   branches/cross-lfs/BOOK/temp-tools/x86_64-chapter.xml
Modified:
   branches/cross-lfs/BOOK/cross-tools/raq2/glibc-startfiles.xml
Log:
More Validation fixes

Added: branches/cross-lfs/BOOK/cross-tools/common/glibc-linuxthreads.xml
===================================================================
--- branches/cross-lfs/BOOK/cross-tools/common/glibc-linuxthreads.xml	2005-05-12 20:10:28 UTC (rev 5314)
+++ branches/cross-lfs/BOOK/cross-tools/common/glibc-linuxthreads.xml	2005-05-12 20:14:44 UTC (rev 5315)
@@ -0,0 +1,140 @@
+<?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" 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>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" AR="${LFS_TARGET}-ar" \
+    RANLIB="${LFS_TARGET}-ranlib" \
+    ../glibc-&glibc-version;/configure --prefix=/tools \
+    --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</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>
+

Added: branches/cross-lfs/BOOK/cross-tools/common/glibc-startfiles-linuxthreads.xml
===================================================================
--- branches/cross-lfs/BOOK/cross-tools/common/glibc-startfiles-linuxthreads.xml	2005-05-12 20:10:28 UTC (rev 5314)
+++ branches/cross-lfs/BOOK/cross-tools/common/glibc-startfiles-linuxthreads.xml	2005-05-12 20:14:44 UTC (rev 5315)
@@ -0,0 +1,91 @@
+<?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-startfiles" role="wrap">
+<title>Glibc-&glibc-version; Startfiles</title>
+<?dbhtml filename="glibc-startfiles.html"?>
+
+<indexterm zone="ch-cross-tools-glibc-startfiles">
+<primary sortas="a-Glibc">Glibc</primary>
+<secondary>cross tools, startfiles</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 Startfiles</title>
+
+<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>
+
+<para>To create Linuxthread Startfiles use the following configure line:</para>
+
+<screen><userinput>CC="${LFS_TARGET}-gcc" AR="${LFS_TARGET}-ar" \
+    RANLIB="${LFS_TARGET}-ranlib" \
+    ../glibc-&glibc-version;/configure --prefix=/tools \
+    --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</userinput></screen>
+
+<para>The meaning of the configure options:</para>
+
+<variablelist>
+<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>--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>Compile the package:</para>
+
+<screen><userinput>make csu/subdir_lib</userinput></screen>
+
+<para>Since we are only creating the glibc startfiles at this time
+we will need to manually copy files over.</para>
+
+<screen><userinput>install -d /tools/lib
+cp -fp csu/crt[i1n].o /tools/lib</userinput></screen>
+
+</sect2>
+
+</sect1>
+

Modified: branches/cross-lfs/BOOK/cross-tools/raq2/glibc-startfiles.xml
===================================================================
--- branches/cross-lfs/BOOK/cross-tools/raq2/glibc-startfiles.xml	2005-05-12 20:10:28 UTC (rev 5314)
+++ branches/cross-lfs/BOOK/cross-tools/raq2/glibc-startfiles.xml	2005-05-12 20:14:44 UTC (rev 5315)
@@ -59,6 +59,7 @@
     --without-cvs --disable-profile --enable-add-ons \
     --enable-kernel=2.6.0 --with-binutils=/cross-tools/bin \
     --with-headers=/tools/include</userinput></screen>
+
 <para>The meaning of the configure options:</para>
 
 <variablelist>

Added: branches/cross-lfs/BOOK/temp-tools/x86_64-chapter.xml
===================================================================
--- branches/cross-lfs/BOOK/temp-tools/x86_64-chapter.xml	2005-05-12 20:10:28 UTC (rev 5314)
+++ branches/cross-lfs/BOOK/temp-tools/x86_64-chapter.xml	2005-05-12 20:14:44 UTC (rev 5315)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE chapter 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;
+]>
+<chapter id="chapter-temporary-tools" xreflabel="Constructing a Temporary Tools">
+<?dbhtml dir="temp-tools"?>
+<title>Constructing a Temporary Tools</title>
+<?dbhtml filename="chapter.html"?>
+
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/introduction.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/tcl.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/expect.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/dejagnu.xml"/>
+<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/perl.xml"/>
+
+</chapter>




More information about the lfs-book mailing list