7.5. E2fsprogs-1.43.4

The E2fsprogs package contains the utilities for handling the ext2 file system. It also supports the ext3 and ext4 journaling file systems.

7.5.1. Installation of E2fsprogs

Make sure the libraries get installed to /tools/lib64:

cp -v configure{,.orig}
sed -e "/libdir=.*\/lib/s@/lib@/lib64@g" configure.orig > configure

The E2fsprogs documentation recommends that the package be built in a subdirectory of the source tree:

mkdir -v build
cd build

When cross-compiling, configure cannot determine data type sizes and assumes short=2, int=4, long=4, long long=8. This is not correct for PowerPC64. Adjust the values with:

echo "ac_cv_sizeof_long=8" > config.cache

Prepare E2fsprogs for compilation:

../configure \
    --prefix=/tools \
    --enable-elf-shlibs \
    --build=${CLFS_HOST} \
    --host=${CLFS_TARGET} \
    --disable-libblkid \
    --disable-libuuid \
    --disable-fsck \
    --disable-uuidd \
    --cache-file=config.cache

The meaning of the configure options:

--enable-elf-shlibs

This creates the shared libraries which some programs in this package use.

--disable-*

This prevents E2fsprogs from building and installing the libuuid and libblkid libraries, the uuidd daemon, and the fsck wrapper, as Util-Linux installed all of them earlier.

Compile the package:

make libs
make -C e2fsck/

Install the e2fsck binary:

make install -C e2fsck

Install the static libraries and headers:

make install-libs

Details on this package are located in Section 10.44.2, “Contents of E2fsprogs.”