source: BOOK/final-system/multilib/eglibc-64bit.xml @ 84b164e

clfs-2.1clfs-3.0.0-systemdclfs-3.0.0-sysvinitsystemdsysvinit
Last change on this file since 84b164e was 57b3f19, checked in by Jonathan Norman <jon@…>, 12 years ago

Added a patch to Eglibc final to fix a segfault issue with ALSA

  • 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-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="../common/eglibc.xml"
51    xpointer="xpointer(//*[@os='p3'])"/>
52
53    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
54    href="../common/eglibc.xml"
55    xpointer="xpointer(//*[@os='p4'])"/>
56
57    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
58    href="eglibc.xml"
59    xpointer="xpointer(//*[@os='b'])"/>
60
61    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
62    href="eglibc.xml"
63    xpointer="xpointer(//*[@os='e'])"/>
64
65    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
66    href="eglibc.xml"
67    xpointer="xpointer(//*[@os='f'])"/>
68
69    <para os="m1">Tell EGLIBC to install its 64-bit libraries into
70    <filename class="directory">/lib64</filename>:</para>
71
72<screen os="m2"><userinput>echo "slibdir=/lib64" &gt;&gt; configparms</userinput></screen>
73
74    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
75    href="eglibc.xml"
76    xpointer="xpointer(//*[@os='g'])"/>
77
78<screen os="h"><userinput>CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" \
79    ../eglibc-&eglibc-version;/configure --prefix=/usr \
80    --disable-profile --enable-add-ons --enable-kernel=2.6.0 \
81    --libexecdir=/usr/lib64/glibc --libdir=/usr/lib64</userinput></screen>
82
83    <variablelist os="i">
84      <title>The meaning of the new configure option:</title>
85
86      <varlistentry>
87        <term><parameter>--libexecdir=/usr/lib64/glibc</parameter></term>
88        <listitem>
89          <para>This changes the location of the <command>pt_chown</command>
90          program from its default of <filename
91          class="directory">/usr/libexec</filename> to <filename
92          class="directory">/usr/lib64/glibc</filename>.</para>
93        </listitem>
94      </varlistentry>
95    </variablelist>
96
97    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
98    href="eglibc.xml"
99    xpointer="xpointer(//*[@os='j'])"/>
100
101    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
102    href="eglibc.xml"
103    xpointer="xpointer(//*[@os='k'])"/>
104
105    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
106    href="eglibc.xml"
107    xpointer="xpointer(//*[@os='l'])"/>
108
109    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
110    href="eglibc.xml"
111    xpointer="xpointer(//*[@os='m'])"/>
112
113    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
114    href="eglibc.xml"
115    xpointer="xpointer(//*[@os='n'])"/>
116
117    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
118    href="eglibc.xml"
119    xpointer="xpointer(//*[@os='o'])"/>
120
121    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
122    href="../common/eglibc.xml"
123    xpointer="xpointer(//*[@os='p'])"/>
124
125    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
126    href="eglibc.xml"
127    xpointer="xpointer(//*[@os='s'])"/>
128
129    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
130    href="eglibc.xml"
131    xpointer="xpointer(//*[@os='t'])"/>
132
133  </sect2>
134
135  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
136  href="../common/eglibc.xml"
137  xpointer="xpointer(id('i18n-eglibc'))"/>
138
139  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
140  href="../common/eglibc.xml"
141  xpointer="xpointer(id('conf-eglibc'))"/>
142
143  <sect2 id="conf-ld" role="configuration">
144    <title>Configuring The Dynamic Loader</title>
145
146    <indexterm zone="conf-ld">
147      <primary sortas="e-/etc/ld.so.conf">/etc/ld.so.conf</primary>
148    </indexterm>
149
150    <para os="ld-a">By default, the dynamic loader (<filename
151    class="libraryfile">/lib/ld-linux.so.2</filename> for 32bit executables and
152    <filename class="libraryfile">/lib64/ld-linux.so.2</filename> for
153    64bit executables) searches through
154    <filename class="directory">/lib</filename>,
155    <filename class="directory">/lib64</filename>,
156    <filename class="directory">/usr/lib</filename>,
157    and <filename class="directory">/usr/lib64</filename> for dynamic
158    libraries that are needed by programs as they are run. However, if
159    there are libraries in directories other than these, they need to be
160    added to the <filename>/etc/ld.so.conf</filename> file in order
161    for the dynamic loader to find them. Some directories that are commonly
162    known to contain additional libraries are
163    <filename class="directory">/usr/local/lib</filename>,
164    <filename class="directory">/usr/local/lib64</filename>,
165    <filename class="directory">/opt/lib</filename>,
166    and <filename class="directory">/opt/lib64</filename>,
167    so add those directories to the dynamic loader's search path.</para>
168
169    <para os="ld-b">Create a new file <filename>/etc/ld.so.conf</filename> by running the
170    following:</para>
171
172<screen os="ld-c"><userinput>cat &gt; /etc/ld.so.conf &lt;&lt; "EOF"
173<literal># Begin /etc/ld.so.conf
174
175/usr/local/lib
176/usr/local/lib64
177/opt/lib
178/opt/lib64
179
180# End /etc/ld.so.conf</literal>
181EOF</userinput></screen>
182
183  </sect2>
184
185  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
186  href="../common/eglibc.xml"
187  xpointer="xpointer(id('contents-eglibc'))"/>
188
189</sect1>
Note: See TracBrowser for help on using the repository browser.