|
@@ -1,55 +0,0 @@
|
|
|
-<sect2>
|
|
|
-<title>Command explanations</title>
|
|
|
-
|
|
|
-<para><userinput>patch -Np1 -i ../glibc-&glibc-patch-version;.patch:</userinput>
|
|
|
-This patch converts all occurrences of <filename>$(PERL)</filename> to
|
|
|
-<filename>/usr/bin/perl</filename> in the
|
|
|
-<filename>malloc/Makefile</filename> file. This is done because Glibc can't
|
|
|
-autodetect the location of perl because perl has yet to be installed. The
|
|
|
-patch also replaces all occurrences of <emphasis>root</emphasis> with
|
|
|
-<emphasis>0</emphasis> in the <filename>login/Makefile</filename> file.
|
|
|
-This is done because Glibc itself isn't installed yet and therefore
|
|
|
-username to userid resolving isn't working yet, so a <userinput>chown root
|
|
|
-file</userinput> will fail, however it'll work fine if you use the numeric
|
|
|
-IDs.</para>
|
|
|
-
|
|
|
-<para>Lastly, the patch also fixes a problem that causes statically linked
|
|
|
-binaries to crash that were linked against Glibc-2.2 libraries. This patch
|
|
|
-is only needed temporarily because we have static programs in <filename
|
|
|
-class="directory">/static/bin</filename> that might be linked against an
|
|
|
-older Glibc version (the one from the host distribution). We will install
|
|
|
-Glibc again at the end of this chapter to remove this patch so you'll have
|
|
|
-a pristine Glibc as the developers intended it.</para>
|
|
|
-
|
|
|
-<para><userinput>touch /etc/ld.so.conf:</userinput> One of the final steps
|
|
|
-of the Glibc installation is running ldconfig to update the dynamic loader
|
|
|
-cache. If this file doesn't exist, the installation will abort with an error
|
|
|
-that it can't read the file, so we simply create an empty file (the empty
|
|
|
-file will have Glibc default to using /lib and /usr/lib which is fine).</para>
|
|
|
-
|
|
|
-<para><userinput>--disable-profile:</userinput> This disables the building
|
|
|
-of libraries with profiling information. This command may be omitted if
|
|
|
-you plan to do profiling.</para>
|
|
|
-
|
|
|
-<para><userinput>--enable-add-ons:</userinput> This enables the add-on that
|
|
|
-we install with Glibc, linuxthreads</para>
|
|
|
-
|
|
|
-<para><userinput>--libexecdir=/usr/bin:</userinput> This will cause the
|
|
|
-pt_chown program to be installed in the /usr/bin directory.</para>
|
|
|
-
|
|
|
-<para><userinput>echo "cross-compiling = no" > configparms:</userinput>
|
|
|
-We do this because we are only building for our own system. Cross-compiling
|
|
|
-is used, for instance, to build a package for an Apple Power PC on an
|
|
|
-Intel system. The reason Glibc thinks we're cross-compiling is that it
|
|
|
-can't compile a test program to determine this, so it automatically defaults
|
|
|
-to a cross-compiler. Compiling the test program fails because Glibc hasn't
|
|
|
-been installed yet.</para>
|
|
|
-
|
|
|
-<para><userinput>exec /static/bin/bash --login:</userinput> This command will
|
|
|
-start a new bash shell which will replace the current shell. This is
|
|
|
-done to get rid of the "I have no name!" message in the command
|
|
|
-prompt, which was caused by bash's inability to resolve a user ID to
|
|
|
-a user name (which in turn was caused by the absence of Glibc).</para>
|
|
|
-
|
|
|
-</sect2>
|
|
|
-
|