There is a new version of this tutorial available for Debian 10 (Buster).

How to Compile Brotli Compression Tool from Source on Debian 9

This tutorial exists for these OS versions

On this page

  1. Requirements
  2. Initial steps
  3. Build Brotli
  4. Links

Brotli is a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding, and 2nd order context modeling, with a compression ratio comparable to the best currently available general-purpose compression methods. It is similar in speed to deflate but offers more dense compression. It is open-sourced under the MIT License. You can browse its source code on Github. The specification of the Brotli Compressed Data Format is defined in RFC 7932.

This tutorial shows how to compile Brotli compression library and program from source on Debian 9 (stretch).

Requirements

  • Debian 9 system.
  • Non-root user with sudo access.

Initial steps

Check the Debian version.

lsb_release -ds
# Debian GNU/Linux 9.6 (stretch)

Set up the timezone.

sudo dpkg-reconfigure tzdata

Update your operating system packages.

sudo apt update && sudo apt upgrade -y

Build Brotli

Install build tools and required packages.

sudo apt install -y build-essential gcc make bc sed autoconf automake libtool git apt-transport-https tree

Clone Brotli repository.

git clone https://github.com/google/brotli.git

Navigate to Brotli source tree directory.

cd brotli

Create the manual page for Brotli command.

sudo cp ~/brotli/docs/brotli.1 /usr/share/man/man1 && sudo gzip /usr/share/man/man1/brotli.1

Check the man page.

man brotli

To generate Autotools configure file run ./bootstrap command first.

./bootstrap

After the above command, you should have access to usual C program build steps: configure, make and make install available.

For help, you can run ./configure --help command. Now we are ready to build Brotli with the following instructions.

The basic commands to build and install brotli are:

./configure --prefix=/usr \
            --bindir=/usr/bin \
            --sbindir=/usr/sbin \
            --libexecdir=/usr/lib/brotli \
            --libdir=/usr/lib/brotli \
            --datarootdir=/usr/share \
            --mandir=/usr/share/man/man1 \
            --docdir=/usr/share/doc

make
sudo make install

After the successful build process, you can check Brotli version.

brotli --version
# brotli 1.0.7

To see help about brotli command, you can run:

brotli -h
Share this page:

0 Comment(s)