[6370fa6] | 1 | <sect2>
|
---|
| 2 | <title>Installation of Glibc</title>
|
---|
| 3 |
|
---|
[ea57e1b] | 4 | <para>Before starting to install glibc, you must cd into the
|
---|
| 5 | glibc-&glibc-version; directory and unpack glibc-linuxthreads inside
|
---|
[be2942c] | 6 | the glibc-&glibc-version; directory, not in /usr/src as you normally
|
---|
[b822811] | 7 | would do.</para>
|
---|
[6370fa6] | 8 |
|
---|
[28360cb] | 9 | <para>This package is known to behave badly when you have changed its default
|
---|
[b43aab1] | 10 | optimization flags (including the -march and -mcpu options). Glibc is
|
---|
| 11 | best left alone, so we recommend you unsetting CFLAGS, CXXFLAGS and other
|
---|
| 12 | such variables/settings that would change the default optimization that
|
---|
[f0c5c0b] | 13 | it comes with. Also, don't pass the --enable-kernel option to the configure
|
---|
[d8fd804] | 14 | script. It's known to cause segmentation faults when other packages like
|
---|
[f0c5c0b] | 15 | fileutils, make and tar are linked against it.</para>
|
---|
| 16 |
|
---|
| 17 | <para>Basically, compiling Glibc in any way than this book suggests it, is
|
---|
| 18 | putting your system at very high risk.</para>
|
---|
[b43aab1] | 19 |
|
---|
[b822811] | 20 | <para>Install Glibc by running the following commands:</para>
|
---|
[6370fa6] | 21 |
|
---|
[4d6fc2da] | 22 | <para><screen><userinput>mknod -m 0666 /dev/null c 1 3 &&
|
---|
| 23 | touch /etc/ld.so.conf &&
|
---|
| 24 | cp malloc/Makefile malloc/Makefile.backup &&
|
---|
[8c5e7152] | 25 | sed 's%\$(PERL)%/usr/bin/perl%' malloc/Makefile.backup > malloc/Makefile &&
|
---|
[4d6fc2da] | 26 | cp login/Makefile login/Makefile.backup &&
|
---|
[8c5e7152] | 27 | sed 's/root/0/' login/Makefile.backup > login/Makefile &&
|
---|
[4d6fc2da] | 28 | mkdir ../glibc-build &&
|
---|
| 29 | cd ../glibc-build &&
|
---|
| 30 | ../glibc-&glibc-version;/configure --prefix=/usr \
|
---|
| 31 | --enable-add-ons --libexecdir=/usr/bin &&
|
---|
[94cb4444] | 32 | echo "cross-compiling = no" > configparms &&
|
---|
[4d6fc2da] | 33 | make &&
|
---|
| 34 | make install &&
|
---|
| 35 | make localedata/install-locales &&
|
---|
| 36 | exec /bin/bash --login</userinput></screen></para>
|
---|
[6370fa6] | 37 |
|
---|
[951a2f5] | 38 | <para>An alternative to running <userinput>make
|
---|
[32f052f] | 39 | localedata/install-locales</userinput> is to only install those locales
|
---|
[951a2f5] | 40 | which you need or want. This can be achieved using the localedef
|
---|
| 41 | command. Information on this can be found in the INSTALL
|
---|
| 42 | file in the glibc-&glibc-version; tree.</para>
|
---|
| 43 |
|
---|
[b822811] | 44 | <para>During the configure stage you will see the following warning:</para>
|
---|
[0e347034] | 45 |
|
---|
[b822811] | 46 | <blockquote><screen>configure: warning:
|
---|
[2b1174be] | 47 | *** These auxiliary programs are missing or too old: msgfmt
|
---|
[0e347034] | 48 | *** some features will be disabled.
|
---|
[b822811] | 49 | *** Check the INSTALL file for required versions.</screen></blockquote>
|
---|
[0e347034] | 50 |
|
---|
[2b1174be] | 51 | <para>The missing msgfmt (from the gettext package which we will install
|
---|
| 52 | later in this chapter) is not fatal. The files msgfmt would create are
|
---|
| 53 | already pre-built, so you won't be missing out on anything. You would
|
---|
[d122b14] | 54 | only need it if you make changes to the Glibc internationalization (i18n)
|
---|
| 55 | files. Since we don't do this by default, we can safely ignore it.</para>
|
---|
[0e347034] | 56 |
|
---|
[6370fa6] | 57 | </sect2>
|
---|
| 58 |
|
---|