123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- <sect2><title> </title><para> </para></sect2>
- <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>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>
- <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>
|