| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | <sect2><title> </title><para> </para></sect2><sect2><title>Installing Findutils</title><para>The Findutils package is quite old and it has problems compilingagainst newer Glibc versions (Glibc-2.0.x and up). You need to apply thepatch, which fixes the following issues:</para><itemizedlist><listitem><para>Findutils declares a function called basename, but thisfunction name is already used by the C standard libraries. This patchchanges the Findutils version of basename function so that it is calledbasename2 instead.</para></listitem><listitem><para>Findutils uses library files in an incorrect way. Itdeclares library functions, to tell the compiler what the name of thefunction will be when the libraries are linked in. This syntax is invalidand causes compiler warnings/errors. This patch removes this impropersyntax.</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 thecompiler 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 segmentationfault to occur on very long path names. The problem is caused by theget_short() function calculating negative numbers incorrectly. This patchcorrects 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>By default, the location of the updatedb database is in /usr/var.To make the location of <filename>/var/lib/misc/locatedb</filename> fileFHS compliant, pass the <emphasis>localstatedir=/var/lib/misc</emphasis>option to both <userinput>make</userinput> commands below.</para><para>Continue with compiling the package:</para><para><screen><userinput>make libexecdir=/usr/bin</userinput></screen></para><para>Finish installing the package:</para><para><screen><userinput>make libexecdir=/usr/bin install</userinput></screen></para></sect2>
 |