source: BOOK/final-system/multilib/glibc-64bit.xml @ 005d85d

systemd
Last change on this file since 005d85d was 005d85d, checked in by William Harrington <kb0iic@…>, 6 years ago

We don't tell what glibc should do. We configure glibc to do what we want it to do.

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