6.8. Coreutils-6.9

The Coreutils package contains utilities for showing and setting the basic system characteristics.

6.8.1. Installation of Coreutils

The following command renames the internal implementation of futimens to gl_futimens as newer versions of Glibc provide an incompatible version:

sed -i "s/futimens/gl_&/" $(grep -lr futimens *)

Configure can not properly determine how to get free space when cross-compiling, Without putting the following entry into config.cache the df program will not be built.

echo "fu_cv_sys_stat_statfs2_bsize=yes" > config.cache

Prepare Coreutils for compilation:

CC="${CC} ${BUILD64}" ./configure --prefix=/tools \
    --build=${CLFS_HOST} --host=${CLFS_TARGET} \
    --cache-file=config.cache

When we changed the futimens references, one of the files we updated was touch.c. That change means the man Makefile will try to regenerate the man page for touch, by executing the compiled touch program. If the target architecture cannot be executed by the host system, the build will fail. The following command fixes this by giving the man page a newer timestamp than its corresponding source file:

touch man/touch.1

Compile the package:

make

Install the package:

make install

Details on this package are located in Section 10.13.2, “Contents of Coreutils.”