source: chapter06/glibc-exp.xml@ 504cdc5

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 6.0 6.1 6.1.1 6.3 6.4 6.5 6.6 6.7 6.8 7.0 7.1 7.2 7.3 7.4 7.5 7.5-systemd 7.6 7.6-systemd 7.7 7.7-systemd 7.8 7.8-systemd 7.9 7.9-systemd 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk v4_1 v5_0 v5_1 v5_1_1 xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since 504cdc5 was 4a19a8d, checked in by Timothy Bauscher <timothy@…>, 22 years ago

Update command explanation.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@2150 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

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