Installing Findutils-4.1

Estimated build time:           0.10 SBU
Estimated required disk space:  3 MB

Contents of Findutils

Last checked against version 4.1.

The Findutils package contains programs to find files, either on-the-fly (by doing a live recursive search through directories and only showing files that match the specifications) or by searching through a database.

Findutils installs the following:

Program Files

bigram, code, find, frcode, locate, updatedb and xargs

 

Findutils Installation Dependencies

Last checked against version 4.1.

Bash: sh
Binutils: ar, as, ld, ranlib
Diffutils: cmp
Fileutils: chmod, cp, install, mv, rm
Grep: egrep, grep
Gcc: cc1, collect2, cpp0, gcc
Make: make
Patch: patch
Sed: sed
Sh-utils: basename, date, echo, hostname
Textutils: cat, tr

 

Installing Findutils

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:

patch -Np1 -i ../findutils-4.1.patch

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.

patch -Np1 -i ../findutils-4.1-segfault.patch

Prepare Findutils to be compiled:

./configure --prefix=/usr

By default, the location of the updatedb database is in /usr/var. To make the location of /var/lib/misc/locatedb file FHS compliant, pass the localstatedir=/var/lib/misc option to both make commands below.

Continue with compiling the package:

make libexecdir=/usr/bin

Finish installing the package:

make libexecdir=/usr/bin install