diff options
Diffstat (limited to 'chapter06/findutils-inst.xml')
-rw-r--r-- | chapter06/findutils-inst.xml | 41 |
1 files changed, 5 insertions, 36 deletions
diff --git a/chapter06/findutils-inst.xml b/chapter06/findutils-inst.xml index 92965bfc3..a0fe09251 100644 --- a/chapter06/findutils-inst.xml +++ b/chapter06/findutils-inst.xml @@ -3,52 +3,21 @@ <sect2> <title>Installing Findutils</title> -<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 library files in an incorrect way. 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>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> - <para>Prepare Findutils to be compiled:</para> -<para><screen><userinput>./configure --prefix=/usr</userinput></screen></para> +<para><screen><userinput>./configure --prefix=/usr --libexecdir=/usr/bin</userinput></screen></para> <para>By default, the location of the updatedb database is in /usr/var. To make the location of <filename>/var/lib/misc/locatedb</filename> file -FHS compliant, pass the <emphasis>localstatedir=/var/lib/misc</emphasis> -option to both <userinput>make</userinput> commands below.</para> +FHS compliant, pass the <emphasis>--localstatedir=/var/lib/misc</emphasis> +option to <userinput>configure</userinput>.</para> <para>Continue with compiling the package:</para> -<para><screen><userinput>make libexecdir=/usr/bin</userinput></screen></para> +<para><screen><userinput>make</userinput></screen></para> <para>Finish installing the package:</para> -<para><screen><userinput>make libexecdir=/usr/bin install</userinput></screen></para> +<para><screen><userinput>make install</userinput></screen></para> </sect2> |