aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06/glibc-inst.xml
blob: 69e7e9813d58e7d0a1c0d434f8b2196472fc178a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<sect2>
<title>Installation of Glibc</title>

<para>Before starting to install glibc, you must cd into the
glibc-&glibc-version; directory and unpack glibc-linuxthreads inside
the glibc-&glibc-version; directory, not in /usr/src as you normally
would do.</para>

<para>This package is known to behave badly when you have changed it's default
optimization flags (including the -march and -mcpu options). Glibc is 
best left alone, so we recommend you unsetting CFLAGS, CXXFLAGS and other
such variables/settings that would change the default optimization that
it comes with.</para>

<para>Install Glibc by running the following commands:</para>

<para><screen><userinput>mknod -m 0666 /dev/null c 1 3 &amp;&amp;</userinput>
<userinput>touch /etc/ld.so.conf &amp;&amp;</userinput>
<userinput>cp malloc/Makefile malloc/Makefile.backup &amp;&amp;</userinput>
<userinput>sed 's%\$(PERL)%/usr/bin/perl%' malloc/Makefile &gt; tmp~ &amp;&amp;</userinput>
<userinput>mv tmp~ malloc/Makefile &amp;&amp;</userinput>
<userinput>cp login/Makefile login/Makefile.backup &amp;&amp;</userinput>
<userinput>sed 's/root/0/' login/Makefile &gt; tmp~ &amp;&amp;</userinput>
<userinput>mv tmp~ login/Makefile &amp;&amp;</userinput>
<userinput>mkdir ../glibc-build &amp;&amp;</userinput>
<userinput>cd ../glibc-build &amp;&amp;</userinput>
<userinput>../glibc-&glibc-version;/configure --prefix=/usr \</userinput>
<userinput>&nbsp;&nbsp;&nbsp;--enable-add-ons --libexecdir=/usr/bin &amp;&amp;</userinput>
<userinput>cp config.make config.make.backup &amp;&amp;</userinput>
<userinput>sed 's/cross-compiling = yes/cross-compiling = no/' \</userinput>
<userinput>&nbsp;&nbsp;&nbsp;config.make &gt; tmp~ &amp;&amp;</userinput>
<userinput>mv tmp~ config.make &amp;&amp;</userinput>
<userinput>make &amp;&amp;</userinput>
<userinput>make install &amp;&amp;</userinput>
<userinput>make localedata/install-locales &amp;&amp;</userinput>
<userinput>exec /bin/bash --login</userinput></screen></para>

<para>An alternative to running <userinput>make
localedata/install-locales</userinput> is to only install those locales
which you need or want.  This can be achieved using the localedef
command.  Information on this can be found in the INSTALL
file in the glibc-&glibc-version; tree.</para>

<para>During the configure stage you will see the following warning:</para>

<blockquote><screen>configure: warning:
*** These auxiliary programs are missing or too old: msgfmt
*** some features will be disabled.
*** Check the INSTALL file for required versions.</screen></blockquote>

<para>The missing msgfmt (from the gettext package which we will install
later in this chapter) is not fatal. The files msgfmt would create are
already pre-built, so you won't be missing out on anything. You would
only need it if you make changes to the Glibc manual files. Since we
don't do this by default, we can safely ignore it.</para>

</sect2>