Estimated build time: 0.12 SBU Estimated required disk space: 8 MB |
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:
bigram, code, find, frcode, locate, updatedb and xargs
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
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:
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.
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.
Every GNU package is supposed use a macro called _GNU_SOURCE. This macro enables declarations of GNU library extension functions so the compiler will be able to detect name conflicts between functions more easily. This patch adds this macro to the source code.
patch -Np1 -i ../findutils-4.1.patch |
Prepare Findutils to be compiled:
CPPFLAGS="-Dre_max_failures=re_max_failures2" \ LDFLAGS="-static" ./configure --prefix=$LFS/static |
Continue with compiling the package:
make |
And finish off installing the package:
make install |