source: chapter06/glibc-inst.xml@ 55a3935

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 6.0 6.1 6.1.1 6.3 6.4 6.5 6.6 6.7 6.8 7.0 7.1 7.2 7.3 7.4 7.5 7.5-systemd 7.6 7.6-systemd 7.7 7.7-systemd 7.8 7.8-systemd 7.9 7.9-systemd 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk v3_2 v3_3 v4_0 v4_1 v5_0 v5_1 v5_1_1 xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since 55a3935 was a971ec4, checked in by Gerard Beekmans <gerard@…>, 22 years ago

change of msgfmt description to be more accurate

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@1669 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 2.8 KB
RevLine 
[6370fa6]1<sect2>
2<title>Installation of Glibc</title>
3
[ea57e1b]4<para>Before starting to install glibc, you must cd into the
5glibc-&glibc-version; directory and unpack glibc-linuxthreads inside
[be2942c]6the glibc-&glibc-version; directory, not in /usr/src as you normally
[b822811]7would do.</para>
[6370fa6]8
[28360cb]9<para>This package is known to behave badly when you have changed its default
[b43aab1]10optimization flags (including the -march and -mcpu options). Glibc is
11best left alone, so we recommend you unsetting CFLAGS, CXXFLAGS and other
12such variables/settings that would change the default optimization that
[f0c5c0b]13it comes with. Also, don't pass the --enable-kernel option to the configure
[d8fd804]14script. It's known to cause segmentation faults when other packages like
[f0c5c0b]15fileutils, make and tar are linked against it.</para>
16
[aabc1e0]17<para>Basically, compiling Glibc in any other way than the book suggests
18is 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 &amp;&amp;
23touch /etc/ld.so.conf &amp;&amp;
24cp malloc/Makefile malloc/Makefile.backup &amp;&amp;
[8c5e7152]25sed 's%\$(PERL)%/usr/bin/perl%' malloc/Makefile.backup &gt; malloc/Makefile &amp;&amp;
[4d6fc2da]26cp login/Makefile login/Makefile.backup &amp;&amp;
[8c5e7152]27sed 's/root/0/' login/Makefile.backup &gt; login/Makefile &amp;&amp;
[4d6fc2da]28mkdir ../glibc-build &amp;&amp;
29cd ../glibc-build &amp;&amp;
30../glibc-&glibc-version;/configure --prefix=/usr \
31&nbsp;&nbsp;&nbsp;--enable-add-ons --libexecdir=/usr/bin &amp;&amp;
[94cb4444]32echo "cross-compiling = no" &gt; configparms &amp;&amp;
[4d6fc2da]33make &amp;&amp;
34make install &amp;&amp;
35make localedata/install-locales &amp;&amp;
36exec /bin/bash --login</userinput></screen></para>
[6370fa6]37
[951a2f5]38<para>An alternative to running <userinput>make
[32f052f]39localedata/install-locales</userinput> is to only install those locales
[951a2f5]40which you need or want. This can be achieved using the localedef
41command. Information on this can be found in the INSTALL
42file 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
[a971ec4]52later in this chapter) won't cause any problems. msgfmt is used to generate
53the binary translation files that are used to make your system talk in a
54different language. Because these translation files have already been
55generated for you, there is no need for msgfmt. You'd only need msgfmt if
56you change the translation source files (the <filename>*.po</filename>
57files in the <filename class="directory">po</filename> subdirectory) which\
58would require you to re-generate the binary files.</para>
[0e347034]59
[6370fa6]60</sect2>
61
Note: See TracBrowser for help on using the repository browser.