1 | <sect2><title> </title><para> </para></sect2>
|
---|
2 |
|
---|
3 | <sect2>
|
---|
4 | <title>Installing Findutils</title>
|
---|
5 |
|
---|
6 | <para>The Findutils package is quite old and it has problems compiling
|
---|
7 | against newer Glibc versions (Glibc-2.0.x and up). You need to apply the
|
---|
8 | patch, which fixes the following issues:</para>
|
---|
9 |
|
---|
10 | <itemizedlist>
|
---|
11 | <listitem><para>Findutils declares a function called basename, but this
|
---|
12 | function name is already used by the C standard libraries. This patch
|
---|
13 | changes the Findutils version of basename function so that it is called
|
---|
14 | basename2 instead.</para></listitem>
|
---|
15 |
|
---|
16 | <listitem><para>Findutils uses library files in an incorrect way. It
|
---|
17 | declares library functions, to tell the compiler what the name of the
|
---|
18 | function will be when the libraries are linked in. This syntax is invalid
|
---|
19 | and causes compiler warnings/errors. This patch removes this improper
|
---|
20 | syntax.</para></listitem>
|
---|
21 |
|
---|
22 | <listitem><para>Every GNU package is supposed use a macro called _GNU_SOURCE.
|
---|
23 | This macro enables declarations of GNU library extension functions and so the
|
---|
24 | compiler will be able to detect name conflicts between functions more easily.
|
---|
25 | This patch adds this macro to the source code.</para></listitem>
|
---|
26 | </itemizedlist>
|
---|
27 |
|
---|
28 | <para><screen><userinput>patch -Np1 -i ../findutils-&findutils-patch-version;.patch</userinput></screen></para>
|
---|
29 |
|
---|
30 | <para>There is a bug in locate.c of Findutils that causes a segmentation
|
---|
31 | fault to occur on very long path names. The problem is caused by the
|
---|
32 | get_short() function calculating negative numbers incorrectly. This patch
|
---|
33 | corrects this bug.</para>
|
---|
34 |
|
---|
35 | <para><screen><userinput>patch -Np1 -i ../findutils-&findutils-segfault-patch-version;-segfault.patch</userinput></screen></para>
|
---|
36 |
|
---|
37 | <para>Prepare Findutils to be compiled:</para>
|
---|
38 |
|
---|
39 | <para><screen><userinput>./configure --prefix=/usr</userinput></screen></para>
|
---|
40 |
|
---|
41 | <para>By default, the location of the updatedb database is in /usr/var.
|
---|
42 | To make the location of <filename>/var/lib/misc/locatedb</filename> file
|
---|
43 | FHS compliant, pass the <emphasis>localstatedir=/var/lib/misc</emphasis>
|
---|
44 | option to both <userinput>make</userinput> commands below.</para>
|
---|
45 |
|
---|
46 | <para>Continue with compiling the package:</para>
|
---|
47 |
|
---|
48 | <para><screen><userinput>make libexecdir=/usr/bin</userinput></screen></para>
|
---|
49 |
|
---|
50 | <para>Finish installing the package:</para>
|
---|
51 |
|
---|
52 | <para><screen><userinput>make libexecdir=/usr/bin install</userinput></screen></para>
|
---|
53 |
|
---|
54 | </sect2>
|
---|