aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06/findutils-inst.xml
diff options
context:
space:
mode:
authorGerard Beekmans <gerard@linuxfromscratch.org>2003-02-04 05:18:40 +0000
committerGerard Beekmans <gerard@linuxfromscratch.org>2003-02-04 05:18:40 +0000
commita20bfb4974c368cc695108d03dbfbddd423b28d0 (patch)
tree3030ba4eab865f3fc80c7465783e5716b9f81615 /chapter06/findutils-inst.xml
parent31435cae54451e90dd29c14bed3464f9a381e0b2 (diff)
updated findutils + gawk patch explanations
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@2423 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter06/findutils-inst.xml')
-rw-r--r--chapter06/findutils-inst.xml30
1 files changed, 25 insertions, 5 deletions
diff --git a/chapter06/findutils-inst.xml b/chapter06/findutils-inst.xml
index 90d38edb0..122acf259 100644
--- a/chapter06/findutils-inst.xml
+++ b/chapter06/findutils-inst.xml
@@ -3,14 +3,34 @@
<sect2>
<title>Installing Findutils</title>
-<para>A patch must be applied in order to prevent compilation
-errors. The patch fixes a variable conflict and some bad syntax:</para>
+<para>The Findutils package is quite old and it has problems compiling
+against newer Glibc versions (Glibc-2.0.x and up). You need to apply the
+patch which fixes the following issues:</para>
+
+<itemizedlist>
+<listitem><para>Findutils declares a function called basename, but this
+function name is already used by the C standard libraries. This patch
+changes the Findutils version of basename function so that it is called
+basename2 instead.</para></listitem>
+
+<listitem><para>Findutils uses an incorrect way to use library files. It
+declares library functions, to tell the compiler what the name of the
+function will be when the libraries are linked in. This syntax is invalid
+and causes compiler warnings/errors. This patch removes this improper
+syntax.</para></listitem>
+
+<listitem><para>Every GNU package is supposed use a macro called _GNU_SOURCE.
+This macro enables declarations of GNU library extension functions and so the
+compiler will be able to detect name conflicts between functions more easily.
+This patch adds this macro to the source code.</para></listitem>
+</itemizedlist>
<para><screen><userinput>patch -Np1 -i ../findutils-&findutils-patch-version;.patch</userinput></screen></para>
-<para>The <userinput>locate</userinput> program from Findutils may
-segfault if it encounters a long path name. To correct this, apply
-the second patch:</para>
+<para>There is a bug in locate.c of Findutils that causes a segmentation
+fault to occur on very long path names. The problem is caused by the
+get_short() function calculating negative numbers incorrectly. This patch
+corrects this bug.</para>
<para><screen><userinput>patch -Np1 -i ../findutils-&findutils-segfault-patch-version;-segfault.patch</userinput></screen></para>