diff options
Diffstat (limited to 'chapter06/findutils-inst.xml')
-rw-r--r-- | chapter06/findutils-inst.xml | 30 |
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> |