Introduction to libarchive

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



Development versions of BLFS may not build or run some packages properly if dependencies have been updated since the most recent stable versions of the book.

Package Information

libarchive Dependencies


libxml2-2.10.3, LZO-2.10, and Nettle-3.8.1

User Notes:

Installation of libarchive

Install libarchive by running the following commands:

./configure --prefix=/usr --disable-static &&

To test the results, issue: LC_ALL=C make check.

Now, as the root user:

make install

Remove an invalid entry in /usr/lib/pkgconfig/libarchive.pc:

sed -i "s/iconv //" /usr/lib/pkgconfig/libarchive.pc

Command Explanations

--disable-static: This switch prevents installation of static versions of the libraries.

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

--without-nettle: This switch sets OpenSSL for crypto support instead of preferred Nettle if both packages are installed.


Installed Programs: bsdcat, bsdcpio, and bsdtar
Installed Libraries:
Installed Directories: None

Short Descriptions


expands files to standard output


is a tool similar to cpio


is a tool similar to GNU tar

is a library that can create and read several streaming archive formats