Learn How To Build Brotli From Source on Fedora 29

January 19, 2019

Table of Contents

If you are using a different system, please check our other tutorials.

Brotli is a new compression method with a better compression ratio than Gzip. Its source code is publicly hosted on Github. This guide will show you the commands you need to run and build Brotli from source code on Fedora 29.

Before you begin

Check the Fedora version.

cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)

Create a new non-root user account with sudo access and switch to it.

useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe

NOTE: Replace johndoe with your username.

Set up the timezone.

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

Ensure that your system is up to date.

sudo dnf check-update; sudo dnf update -y

Build Brotli

Install build tools and required packages.

sudo dnf install -y gcc make bc sed autoconf automake libtool git

Clone the Brotli repository.

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

Navigate to the Brotli source directory.

cd brotli

Create a manual page for Brotli commands.

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

Check the manual page.

man brotli

To generate Autotools’ configure file, first run the ./bootstrap command.

./bootstrap

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

For help, run the ./configure --help command.

Now, build Brotli.

./configure --prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/lib64/brotli --libdir=/usr/lib64/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 the version.

brotli --version
# brotli 1.0.7

That’s it. You have successfully built Brotli from source code. You can now compress and decompress your files with Brotli compression format on your server.

Need help?

Do you need help setting up this on your own service?
Please contact us and we’ll provide you the best possible quote!