| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | <sect2><title>Installation of Glibc</title><para>Before starting to install glibc, you must cd into theglibc-&glibc-version; directory and unpack glibc-linuxthreads insidethe glibc-&glibc-version; directory, not in /usr/src as you normallywould do.</para><para>This package is known to behave badly when you have changed itsdefault optimization flags (including the -march and -mcpu options). Glibcis best left alone.  Therefore, if you have defined any environment variablesthat override default optimizations, such as CFLAGS and CXXFLAGS, werecommend unsetting or modifying them when building binutils.  You havebeen warned.</para><para>Also, don't pass the --enable-kernel option to the configurescript. It's known to cause segmentation faults when other packages likefileutils, make and tar are linked against it.</para><para>Basically, compiling Glibc in any other way than the book suggestsis putting your system at very high risk.</para><para>Install Glibc by running the following commands:</para><para><screen><userinput>cp malloc/Makefile malloc/Makefile.backup &&sed 's%\$(PERL)%/usr/bin/perl%' \    malloc/Makefile.backup > malloc/Makefile &&cp login/Makefile login/Makefile.backup &&sed 's/root/0/' login/Makefile.backup > login/Makefile &&mkdir ../glibc-build &&cd ../glibc-build &&../glibc-&glibc-version;/configure --prefix=/usr \    --enable-add-ons --libexecdir=/usr/bin &&echo "cross-compiling = no" > configparms &&make &&make install &&make localedata/install-locales &&exec /static/bin/bash --login</userinput></screen></para><para>An alternative to running <userinput>makelocaledata/install-locales</userinput> is to only install those localeswhich you need or want.  This can be achieved using the localedefcommand.  Information on this can be found in the INSTALLfile in the glibc-&glibc-version; tree. One thing to note is that the<userinput>localedef</userinput> program assumes that the <filenameclass="directory">/usr/lib/locale</filename> directory exists, so you needto create it first.</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 installlater in this chapter) won't cause any problems. msgfmt is used to generatethe binary translation files that are used to make your system talk in adifferent language. Because these translation files have already beengenerated for you, there is no need for msgfmt. You'd only need msgfmt ifyou change the translation source files (the <filename>*.po</filename>files in the <filename class="directory">po</filename> subdirectory) which\would require you to re-generate the binary files.</para></sect2>
 |