source: BOOK/cross-tools/common/eglibc.xml @ 52ed4da

clfs-2.1clfs-3.0.0-systemdclfs-3.0.0-sysvinitsystemdsysvinit
Last change on this file since 52ed4da was 52ed4da, checked in by William Harrington <kb0iic@…>, 11 years ago

Update eglibc install commands for 2.17 update and add time zone data install.

  • Property mode set to 100644
File size: 6.4 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4  <!ENTITY % general-entities SYSTEM "../../general.ent">
5  %general-entities;
6]>
7
8<sect1 id="ch-cross-tools-eglibc" role="wrap">
9  <?dbhtml filename="eglibc.html"?>
10
11  <title>EGLIBC-&eglibc-version;</title>
12
13  <indexterm zone="ch-cross-tools-eglibc">
14    <primary sortas="a-EGLIBC">EGLIBC</primary>
15    <secondary>cross tools</secondary>
16  </indexterm>
17
18  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
19  href="../../final-system/common/eglibc.xml"
20  xpointer="xpointer(//*[@role='package'])"/>
21
22  <sect2 role="installation">
23    <title>Installation of EGLIBC</title>
24
25    <para os="da">It should be noted that compiling EGLIBC in any way other than
26    the method suggested in this book puts the stability of the system at
27    risk.</para>
28
29    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
30    href="../../final-system/common/eglibc.xml"
31    xpointer="xpointer(//*[@os='e'])"/>
32
33    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
34    href="../../final-system/common/eglibc.xml"
35    xpointer="xpointer(//*[@os='f'])"/>
36
37    <para os="dd">The following lines need to be added to
38    <filename>config.cache</filename> for EGLIBC to support NPTL:</para>
39
40<screen os="de"><userinput>cat &gt; config.cache &lt;&lt; "EOF"
41libc_cv_forced_unwind=yes
42libc_cv_c_cleanup=yes
43libc_cv_gnu89_inline=yes
44libc_cv_ssp=no
45EOF</userinput></screen>
46
47    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
48    href="../../final-system/common/eglibc.xml"
49    xpointer="xpointer(//*[@os='g'])"/>
50
51<screen os="df"><userinput>BUILD_CC="gcc" CC="${CLFS_TARGET}-gcc" \
52    AR="${CLFS_TARGET}-ar" RANLIB="${CLFS_TARGET}-ranlib" \
53    ../eglibc-&eglibc-version;/configure --prefix=/tools \
54    --host=${CLFS_TARGET} --build=${CLFS_HOST} \
55    --disable-profile --with-tls --enable-kernel=2.6.32 \
56    --with-__thread --with-binutils=/cross-tools/bin \
57    --with-headers=/tools/include --enable-obsolete-rpc \
58    --cache-file=config.cache</userinput></screen>
59
60    <variablelist os="dg">
61      <title>The meaning of the new configure options:</title>
62
63      <varlistentry os="dg1">
64        <term><parameter>BUILD_CC="gcc"</parameter></term>
65        <listitem>
66          <para>This sets EGLIBC to use the current compiler on our system. This is
67          used to create the tools EGLIBC uses during its build.</para>
68        </listitem>
69      </varlistentry>
70
71      <varlistentry os="dg2">
72        <term><parameter>CC="${CLFS_TARGET}-gcc"</parameter></term>
73        <listitem>
74          <para>This forces EGLIBC to use the GCC compiler that we made for our target
75          architecture.</para>
76        </listitem>
77      </varlistentry>
78
79      <varlistentry os="dg3">
80        <term><parameter>AR="${CLFS_TARGET}-ar"</parameter></term>
81        <listitem>
82          <para>This forces EGLIBC to use the <command>ar</command> utility
83          we made for our target architecture.</para>
84        </listitem>
85      </varlistentry>
86
87      <varlistentry os="dg4">
88        <term><parameter>RANLIB="${CLFS_TARGET}-ranlib"</parameter></term>
89        <listitem>
90          <para>This forces EGLIBC to use the <command>ranlib</command> utility
91          we made for our target architecture.</para>
92        </listitem>
93      </varlistentry>
94
95      <varlistentry os="dg5">
96        <term><parameter>--disable-profile</parameter></term>
97        <listitem>
98          <para>This builds the libraries without profiling information.
99          Omit this option if profiling on the temporary tools is necessary.</para>
100        </listitem>
101      </varlistentry>
102
103      <varlistentry os="dg6">
104        <term><parameter>--with-tls</parameter></term>
105        <listitem>
106          <para>This tells EGLIBC to use Thread Local Storage.</para>
107        </listitem>
108      </varlistentry>
109
110      <varlistentry os="dg7">
111        <term><parameter>--enable-kernel=2.6.32</parameter></term>
112        <listitem>
113          <para>This tells EGLIBC to compile the library with support
114          for 2.6.32 and later Linux kernels.</para>
115        </listitem>
116      </varlistentry>
117
118      <varlistentry os="dg8">
119        <term><parameter>--with-__thread</parameter></term>
120        <listitem>
121          <para>This tells EGLIBC to use use the __thread for libc and
122          libpthread builds.</para>
123        </listitem>
124      </varlistentry>
125
126      <varlistentry os="dg9">
127        <term><parameter>--with-binutils=/cross-tools/bin</parameter></term>
128        <listitem>
129          <para>This tells EGLIBC to use the Binutils that are specific to
130          our target architecture.</para>
131        </listitem>
132      </varlistentry>
133
134      <varlistentry os="dg10">
135        <term><parameter>--with-headers=/tools/include</parameter></term>
136        <listitem>
137          <para>This tells EGLIBC to compile itself against the headers
138          recently installed to the <filename class="directory">/tools</filename>
139          directory, so that it knows exactly what features the kernel has
140          and can optimize itself accordingly.</para>
141        </listitem>
142      </varlistentry>
143
144      <varlistentry os="dg11">
145        <term><parameter>--cache-file=config.cache</parameter></term>
146        <listitem>
147          <para>This tells EGLIBC to utilize a premade cache file.</para>
148        </listitem>
149      </varlistentry>
150
151    </variablelist>
152
153    <para os="dh">During this stage the following warning might appear:</para>
154
155<blockquote os="di"><screen><computeroutput>configure: WARNING:
156*** These auxiliary programs are missing or
157*** incompatible versions: msgfmt
158*** some features will be disabled.
159*** Check the INSTALL file for required versions.</computeroutput></screen></blockquote>
160
161    <para os="dj">The missing or incompatible <command>msgfmt</command> program is
162    generally harmless. This <command>msgfmt</command> program is part of the
163    Gettext package which the host distribution should provide.</para>
164
165    <para os="dk">Compile the package:</para>
166
167<screen os="dl"><userinput>make</userinput></screen>
168
169    <para os="dm">Install the package:</para>
170
171<screen os="dn"><userinput>make install inst_vardbdir=/tools/var/db</userinput></screen>
172
173<para  os="do"><parameter>inst_vardbdir=...</parameter> ensures that db-Makefile is not
174        installed on the host system</para>
175
176  </sect2>
177
178  <sect2 role="content">
179    <title/>
180
181    <para>Details on this package are located in <xref
182    linkend="contents-eglibc" role="."/></para>
183
184  </sect2>
185
186</sect1>
Note: See TracBrowser for help on using the repository browser.