source: BOOK/final-system/multilib/eglibc-64bit.xml@ 193eb68

Last change on this file since 193eb68 was 7d97f36, checked in by Joe Ciccone <jciccone@…>, 14 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.