6.16. Libarchive-3.8.1

The libarchive library provides a single interface for reading/writing various compression formats.

Approximate build time: 0.1 SBU
Required disk space: 42 MB

6.16.1. Installation of libarchive

Install libarchive by running the following commands:

./configure --prefix=/usr \
        --host=$LFS_TGT   \
        --build=$(build/autoconf/config.guess) \
        --without-xml2

Compile the package:

make

Install the package and remove some harmful libtool archive and static library files:

make DESTDIR=$LFS install &&
rm -v $LFS/usr/lib/libarchive.{a,la}

Create some necessary symlinks:

ln -sv bsdtar     $LFS/bin/tar &&
ln -sv bsdcpio    $LFS/bin/cpio &&
ln -sv bsdunzip   $LFS/bin/unzip &&
ln -sv bsdtar.1   $LFS/usr/share/man/man1/tar.1 &&
ln -sv bsdcpio.1  $LFS/usr/share/man/man1/cpio.1 &&
ln -sv bsdunzip.1 $LFS/usr/share/man/man1/unzip.1
[Note]

Note

As discussed in locale-wrong-filename-encoding, if the Zip archive to be extracted contains any file with a name containing any non-Latin characters, you need to manually specify the encoding of those characters or they will be turned into unreadable sequences in the extracted file name. For example, if a Zip archive created with WinZip, archive.zip, contains a file named with Simplified Chinese characters, the encoding should be CP936 and the -I cp936 option should be used. I.e. the command to extract the archive should be unzip -I cp936 archive.zip.

6.16.2. Command Explanations

--without-xml2: This switch sets expat for xar archive format support instead of preferred libxml2 if both packages are installed.

6.16.3. Contents

Installed Programs: bsdcat, bsdcpio, bsdtar, and bsdunzip
Installed Libraries: libarchive.so
Installed Directories: None