mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-02-01 11:52:31 +00:00
a20bfb4974
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@2423 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
55 lines
2.3 KiB
XML
55 lines
2.3 KiB
XML
<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 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>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>
|