source: BOOK/final-system/multilib/eglibc-64bit.xml @ 7d97f36

clfs-1.2clfs-2.1clfs-3.0.0-systemdclfs-3.0.0-sysvinitsystemdsysvinit
Last change on this file since 7d97f36 was 7d97f36, checked in by Joe Ciccone <jciccone@…>, 13 years ago

Add a patch to EGLIBC that fixes an issue with elf missing deps.

  • Property mode set to 100644
File size: 6.1 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-system-eglibc" role="wrap">
9  <?dbhtml filename="eglibc-64bit.html"?>
10
11  <title>Glibc-&eglibc-version; 64-Bit</title>
12
13  <indexterm zone="ch-system-eglibc">
14    <primary sortas="a-EGLIBC">EGLIBC</primary>
15  </indexterm>
16
17  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
18  href="eglibc.xml"
19  xpointer="xpointer(//*[@role='package'])"/>
20
21  <sect2 role="installation">
22    <title>Installation of EGLIBC</title>
23
24    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
25    href="../common/eglibc.xml"
26    xpointer="xpointer(//*[@os='l1'])"/>
27
28    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
29    href="../common/eglibc.xml"
30    xpointer="xpointer(//*[@os='l2'])"/>
31
32    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
33    href="../common/eglibc.xml"
34    xpointer="xpointer(//*[@os='l3'])"/>
35
36<screen os="l4"><userinput>LINKER=$(readelf -l /tools/bin/bash | sed -n 's@.*interpret.*/tools\(.*\)]$@\1@p')
37sed -i "s|libs -o|libs -L/usr/lib64 -Wl,-dynamic-linker=${LINKER} -o|" \
38  scripts/test-installation.pl
39unset LINKER</userinput></screen>
40
41    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
42    href="../common/eglibc.xml"
43    xpointer="xpointer(//*[@os='p1'])"/>
44
45    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
46    href="../common/eglibc.xml"
47    xpointer="xpointer(//*[@os='p2'])"/>
48
49    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
50    href="eglibc.xml"
51    xpointer="xpointer(//*[@os='b'])"/>
52
53    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
54    href="eglibc.xml"
55    xpointer="xpointer(//*[@os='e'])"/>
56
57    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
58    href="eglibc.xml"
59    xpointer="xpointer(//*[@os='f'])"/>
60
61    <para os="m1">Tell EGLIBC to install its 64-bit libraries into
62    <filename class="directory">/lib64</filename>:</para>
63
64<screen os="m2"><userinput>echo "slibdir=/lib64" &gt;&gt; configparms</userinput></screen>
65
66    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
67    href="eglibc.xml"
68    xpointer="xpointer(//*[@os='g'])"/>
69
70<screen os="h"><userinput>CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" \
71    ../eglibc-&eglibc-version;/configure --prefix=/usr \
72    --disable-profile --enable-add-ons --enable-kernel=2.6.0 \
73    --libexecdir=/usr/lib64/glibc --libdir=/usr/lib64</userinput></screen>
74
75    <variablelist os="i">
76      <title>The meaning of the new configure option:</title>
77
78      <varlistentry>
79        <term><parameter>--libexecdir=/usr/lib64/glibc</parameter></term>
80        <listitem>
81          <para>This changes the location of the <command>pt_chown</command>
82          program from its default of <filename
83          class="directory">/usr/libexec</filename> to <filename
84          class="directory">/usr/lib64/glibc</filename>.</para>
85        </listitem>
86      </varlistentry>
87    </variablelist>
88
89    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
90    href="eglibc.xml"
91    xpointer="xpointer(//*[@os='j'])"/>
92
93    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
94    href="eglibc.xml"
95    xpointer="xpointer(//*[@os='k'])"/>
96
97    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
98    href="eglibc.xml"
99    xpointer="xpointer(//*[@os='l'])"/>
100
101    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
102    href="eglibc.xml"
103    xpointer="xpointer(//*[@os='m'])"/>
104
105    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
106    href="eglibc.xml"
107    xpointer="xpointer(//*[@os='n'])"/>
108
109    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
110    href="eglibc.xml"
111    xpointer="xpointer(//*[@os='o'])"/>
112
113    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
114    href="../common/eglibc.xml"
115    xpointer="xpointer(//*[@os='p'])"/>
116
117    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
118    href="eglibc.xml"
119    xpointer="xpointer(//*[@os='s'])"/>
120
121    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
122    href="eglibc.xml"
123    xpointer="xpointer(//*[@os='t'])"/>
124
125  </sect2>
126
127  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
128  href="../common/eglibc.xml"
129  xpointer="xpointer(id('i18n-eglibc'))"/>
130
131  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
132  href="../common/eglibc.xml"
133  xpointer="xpointer(id('conf-eglibc'))"/>
134
135  <sect2 id="conf-ld" role="configuration">
136    <title>Configuring The Dynamic Loader</title>
137
138    <indexterm zone="conf-ld">
139      <primary sortas="e-/etc/ld.so.conf">/etc/ld.so.conf</primary>
140    </indexterm>
141
142    <para os="ld-a">By default, the dynamic loader (<filename
143    class="libraryfile">/lib/ld-linux.so.2</filename> for 32bit executables and
144    <filename class="libraryfile">/lib64/ld-linux.so.2</filename> for
145    64bit executables) searches through
146    <filename class="directory">/lib</filename>,
147    <filename class="directory">/lib64</filename>,
148    <filename class="directory">/usr/lib</filename>,
149    and <filename class="directory">/usr/lib64</filename> for dynamic
150    libraries that are needed by programs as they are run. However, if
151    there are libraries in directories other than these, they need to be
152    added to the <filename>/etc/ld.so.conf</filename> file in order
153    for the dynamic loader to find them. Some directories that are commonly
154    known to contain additional libraries are
155    <filename class="directory">/usr/local/lib</filename>,
156    <filename class="directory">/usr/local/lib64</filename>,
157    <filename class="directory">/opt/lib</filename>,
158    and <filename class="directory">/opt/lib64</filename>,
159    so add those directories to the dynamic loader's search path.</para>
160
161    <para os="ld-b">Create a new file <filename>/etc/ld.so.conf</filename> by running the
162    following:</para>
163
164<screen os="ld-c"><userinput>cat &gt; /etc/ld.so.conf &lt;&lt; "EOF"
165<literal># Begin /etc/ld.so.conf
166
167/usr/local/lib
168/usr/local/lib64
169/opt/lib
170/opt/lib64
171
172# End /etc/ld.so.conf</literal>
173EOF</userinput></screen>
174
175  </sect2>
176
177  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
178  href="../common/eglibc.xml"
179  xpointer="xpointer(id('contents-eglibc'))"/>
180
181</sect1>
Note: See TracBrowser for help on using the repository browser.