diff options
Diffstat (limited to 'chapter06/glibc-inst.xml')
-rw-r--r-- | chapter06/glibc-inst.xml | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/chapter06/glibc-inst.xml b/chapter06/glibc-inst.xml index ff2840477..99960aca5 100644 --- a/chapter06/glibc-inst.xml +++ b/chapter06/glibc-inst.xml @@ -36,14 +36,24 @@ username to userid resolving isn't working yet, so a if you use the numeric IDs (such as <userinput>chown 0 file</userinput>).</para></listitem> -<listitem><para>Lastly, the patch also fixes a problem that causes -statically linked binaries to crash that were linked against Glibc-2.2 -libraries. This patch is only needed temporarily because we have static -programs in <filename class="directory">/static/bin</filename> that might -be linked against an older Glibc version (the one from the host -distribution). We will install Glibc again at the end of this chapter to -remove this patch so you'll have a pristine Glibc as the developers -intended it.</para></listitem> +<listitem><para>It fixes a problem that causes statically linked binaries +to crash that were linked against Glibc-2.2 libraries. Even though static +binaries have all the necessary parts of Glibc built-in, they still rely +on one external library: Glibc's NSS libraries. These libraries, among +other things, tell programs where the system's password database is +(/etc/password, or NIS, or whatever other scheme has been +configured).</para> + +<para>Glibc has undergone some changes since version +2.2.x and the new NSS code is incompatible with the old one. So when Glibc +is installed, it will install its new NSS libraries and static programs +will load these new NSS libraries and start to abort with +<emphasis>segmentation faults</emphasis>. This patch undoes a few of the +changes to overcome the problem.</para> + +<para>We will install Glibc again at the end of this chapter to remove this +patch so you'll have a pristine Glibc as the developers intended +it.</para></listitem> </itemizedlist> <para><screen><userinput>patch -Np1 -i ../glibc-&glibc-patch-version;.patch</userinput></screen></para> |