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