source: chapter06/glibc-exp.xml@ 6879255

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 6879255 was 6879255, checked in by Mark Hymers <markh@…>, 23 years ago

Bug 122: add glibc-nss patch

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

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