source: chapter06/glibc-exp.xml@ a7cf2c1

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 v3_0 v3_1 v3_2 v3_3 v4_0 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 a7cf2c1 was b822811, checked in by Mark Hymers <markh@…>, 23 years ago

XML changes

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

  • Property mode set to 100644
File size: 2.8 KB
Line 
1<sect2>
2<title>Command explanations</title>
3
4<para><userinput>mknod -m 0666 /dev/null c 1 3:</userinput> Glibc needs a
5null device to compile properly. All other devices will be created in the
6next section.</para>
7
8<para><userinput>touch /etc/ld.so.conf</userinput> One of the final steps of
9the Glibc installation is running ldconfig to update the dynamic loader
10cache. If this file isn't present Glibc will abort with an error that it
11can't read the file. So we create an empty file for it (the empty file
12will have Glibc default to using /lib and
13/usr/lib which is fine right now).</para>
14
15<para><userinput>sed s/"\$(PERL)"/"\/usr\/bin\/perl"/
16../glibc-2.2.3/malloc/Makefile &gt; tmp~:</userinput> This sed command
17searches through <filename>../glibc-2.2.3/malloc/Makefile</filename> and
18converts all occurances of <filename>$(PERL)</filename> to
19<filename>/usr/bin/perl</filename>. The output is then written to the
20file <filename>tmp~</filename>. This is done because Glibc can't
21autodetect perl since it's not installed yet at the time when we install
22Glibc.</para>
23
24<para><userinput>mv tmp~ ../glibc-2.2.3/malloc/Makefile:</userinput> The file
25<filename>tmp~</filename> is now moved back to
26<filename>../glibc-2.2.3/malloc/Makefile</filename>. We do this because
27when using sed, we can't write straight back to this file so we need to
28use a temporary file in between.</para>
29
30<para><userinput>sed "s/root/0" ../glibc-2.2.3/login/Makefile &gt;
31tmp~:</userinput> This sed command replaces all occurances of
32<filename>root</filename> in
33<filename>../glibc-2.2.3/login/Makefile</filename> with 0. This is
34because as we don't have glibc on the LFS system yet, usernames can't
35be resolved to their user id's. Therefore, we replace the username
36root with the id 0. </para>
37
38<para><userinput>mv tmp~ ../glibc-2.2.3/login/Makefile:</userinput> As above,
39we are using a temporary file (<filename>tmp~</filename>) to store the
40edited Makefile and then copying it back over the original.</para>
41
42<para><userinput>--enable-add-ons:</userinput> This enables the add-on that
43we install with Glibc: linuxthreads</para>
44
45<para><userinput>sed s/"cross-compiling = yes"/"cross-compiling = no"/
46config.make &gt; config.make~:</userinput> This time, we're replacing
47<filename>cross-compiling = yes</filename> with
48<filename>cross-compiling = no</filename>. We do this because we are
49only building for our own system. Cross-compiling is used, for
50instance, to build a package for an Apple Power PC on an Intel system.
51The reason Glibc thinks we're cross-compiling is that it can't compile a
52test program to determin this, so it automatically default to a
53cross-compiler. The reason for the failed program is because Glibc
54hasn't been installed yet.</para>
55
56<para><userinput>mv config.make~ config.make:</userinput> Again, we are moving
57the temporary file over the original.</para>
58
59</sect2>
60
Note: See TracBrowser for help on using the repository browser.