1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- <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 straight
- IDs.</para>
- <para>The patch also contains a few bug fixes and security fixes. In
- particular it contains the "errlist", "dns resolver", "xdr_array", "calloc",
- "thread exit", "udivdi3", "math test", "restrict_arr" and "divbyzero" fixes
- which are documented at
- <ulink url="http://www.zipworld.com.au/~gschafer/lfs-tweaks.html"/>.</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 /bin/bash:</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>
|