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
RevLine 
[6370fa6]1<sect2>
2<title>Command explanations</title>
3
[b822811]4<para><userinput>mknod -m 0666 /dev/null c 1 3:</userinput> Glibc needs a
[1242889]5null device to compile properly. All other devices will be created in the
[b822811]6next section.</para>
[1242889]7
[b822811]8<para><userinput>touch /etc/ld.so.conf</userinput> One of the final steps of
[4c70684]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
[3dc72c19]11can't read the file. So we create an empty file for it (the empty file
[b822811]12will have Glibc default to using /lib and
13/usr/lib which is fine right now).</para>
[4c70684]14
[b822811]15<para><userinput>sed s/"\$(PERL)"/"\/usr\/bin\/perl"/
[671561b]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
[b822811]22Glibc.</para>
[671561b]23
[b822811]24<para><userinput>mv tmp~ ../glibc-2.2.3/malloc/Makefile:</userinput> The file
[671561b]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
[b822811]28use a temporary file in between.</para>
[671561b]29
[b822811]30<para><userinput>sed "s/root/0" ../glibc-2.2.3/login/Makefile &gt;
[671561b]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
[b822811]36root with the id 0. </para>
[671561b]37
[b822811]38<para><userinput>mv tmp~ ../glibc-2.2.3/login/Makefile:</userinput> As above,
[671561b]39we are using a temporary file (<filename>tmp~</filename>) to store the
[b822811]40edited Makefile and then copying it back over the original.</para>
[671561b]41
[b822811]42<para><userinput>--enable-add-ons:</userinput> This enables the add-on that
43we install with Glibc: linuxthreads</para>
[6370fa6]44
[b822811]45<para><userinput>sed s/"cross-compiling = yes"/"cross-compiling = no"/
[671561b]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
[b822811]54hasn't been installed yet.</para>
[671561b]55
[b822811]56<para><userinput>mv config.make~ config.make:</userinput> Again, we are moving
57the temporary file over the original.</para>
[671561b]58
[6370fa6]59</sect2>
60
Note: See TracBrowser for help on using the repository browser.