glibc-exp.xml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <sect2>
  2. <title>Command explanations</title>
  3. <para><userinput>patch -Np1 -i ../glibc-&glibc-patch-version;.patch:</userinput>
  4. This patch converts all occurances of <filename>$(PERL)</filename> to
  5. <filename>/usr/bin/perl</filename> in the
  6. <filename>malloc/Makefile</filename> file. This is done because Glibc can't
  7. autodetect the location of perl because perl has yet to be installed. The
  8. patch also replaces all occurances of <emphasis>root</emphasis> with
  9. <emphasis>0</emphasis> in the <filename>login/Makefile</filename> file.
  10. This is done because Glibc itself isn't installed yet and therefore
  11. username to userid resolving isn't working yet, so a <userinput>chown root
  12. file</userinput> will fail, however it'll work fine if you use straight
  13. IDs.</para>
  14. <para>The patch also contains a few bug fixes and security fixes. More
  15. details can be found on
  16. <ulink url="http://www.zipworld.com.au/~gschafer/lfs-tweaks.html"/></para>
  17. <para><userinput>touch /etc/ld.so.conf:</userinput> One of the final steps
  18. of the Glibc installation is running ldconfig to update the dynamic loader
  19. cache. If this file doesn't exist, the installation will abort with an error
  20. that it can't read the file, so we simply create an empty file (the empty
  21. file will have Glibc default to using /lib and /usr/lib which is fine).</para>
  22. <para><userinput>--disable-profile:</userinput> This disables the building
  23. of libraries with profiling information. This command may be ommitted if
  24. you plan to do profiling.</para>
  25. <para><userinput>--enable-add-ons:</userinput> This enables the add-on that
  26. we install with Glibc: linuxthreads</para>
  27. <para><userinput>--libexecdir=/usr/bin:</userinput> This will cause the
  28. pt_chown program to be installed in the /usr/bin directory.</para>
  29. <para><userinput>echo "cross-compiling = no" &gt; configparms:</userinput>
  30. We do this because we are only building for our own system. Cross-compiling
  31. is used, for instance, to build a package for an Apple Power PC on an
  32. Intel system. The reason Glibc thinks we're cross-compiling is that it
  33. can't compile a test program to determine this, so it automatically defaults
  34. to a cross-compiler. Compiling the test program fails because Glibc hasn't
  35. been installed yet.</para>
  36. <para><userinput>exec /bin/bash:</userinput>This command will
  37. start a new bash shell which will replace the current shell. This is
  38. done to get rid of the "I have no name!" message in the command
  39. prompt, which was caused by bash's inability to resolve a user ID to
  40. a user name (which in turn was caused by the absence of Glibc).</para>
  41. </sect2>