source: chapter06/findutils-inst.xml@ fdfb226

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 6.0 6.1 6.1.1 6.3 6.4 6.5 6.6 6.7 6.8 7.0 7.1 7.2 7.3 7.4 7.5 7.5-systemd 7.6 7.6-systemd 7.7 7.7-systemd 7.8 7.8-systemd 7.9 7.9-systemd 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk v4_1 v5_0 v5_1 v5_1_1 xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since fdfb226 was fdfb226, checked in by Gerard Beekmans <gerard@…>, 21 years ago

Bill's typo fixes

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@2427 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 2.3 KB
Line 
1<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
2
3<sect2>
4<title>Installing Findutils</title>
5
6<para>The Findutils package is quite old and it has problems compiling
7against newer Glibc versions (Glibc-2.0.x and up). You need to apply the
8patch, which fixes the following issues:</para>
9
10<itemizedlist>
11<listitem><para>Findutils declares a function called basename, but this
12function name is already used by the C standard libraries. This patch
13changes the Findutils version of basename function so that it is called
14basename2 instead.</para></listitem>
15
16<listitem><para>Findutils uses library files in an incorrect way. It
17declares library functions, to tell the compiler what the name of the
18function will be when the libraries are linked in. This syntax is invalid
19and causes compiler warnings/errors. This patch removes this improper
20syntax.</para></listitem>
21
22<listitem><para>Every GNU package is supposed use a macro called _GNU_SOURCE.
23This macro enables declarations of GNU library extension functions and so the
24compiler will be able to detect name conflicts between functions more easily.
25This 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
31fault to occur on very long path names. The problem is caused by the
32get_short() function calculating negative numbers incorrectly. This patch
33corrects 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.
42To make the location of <filename>/var/lib/misc/locatedb</filename> file
43FHS compliant, pass the <emphasis>localstatedir=/var/lib/misc</emphasis>
44option 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>
Note: See TracBrowser for help on using the repository browser.