#### Beyond Linux® From Scratch (systemd Edition) - Version 11.1

### Chapter 9. General Libraries

- Prev

  Boost-1.78.0

- Next

  CLucene-2.3.3.4

- Up
- Home

# brotli-1.0.9

## Introduction to Brotli

Brotli provides a general-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. Its libraries are particularly used for WOFF2 fonts on webpages.

This package is known to build and work properly using an LFS-11.1 platform.

### Package Information

- Download (HTTP): https://github.com/google/brotli/archive/v1.0.9/brotli-1.0.9.tar.gz

- Download MD5 sum: c2274f0c7af8470ad514637c35bcee7d

- Download size: 476 KB

- Estimated disk space required: 24 MB (with python3 bindings)

- Estimated build time: 0.4 SBU (with python3 bindings)

### Brotli Dependencies

#### Required

CMake-3.22.2

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/brotli

## Installation of Brotli

At first, fix an issue in pkg-config files:

    sed -i 's@-R..libdir.@@' scripts/*.pc.in

Install brotli by running the following commands:

    mkdir out &&
    cd    out &&

    cmake -DCMAKE_INSTALL_PREFIX=/usr \
          -DCMAKE_BUILD_TYPE=Release  \
          ..  &&
    make

To test the results, issue: make test.

If desired, build the Python3 bindings:

    pushd ..               &&
    python3 setup.py build &&
    popd

The python tests are missing most of the necessary testdata files and therefore 240 of 311 tests fail. If you nevertheless wish to test the bindings, go back to the top-level directory and issue: python3 setup.py test.

Now, as the `root` user:

    make install &&
    cd ..

If you have built the python bindings, install them as the `root` user:

    python3 setup.py install --optimize=1

## Contents

Installed Programs: brotli
Installed Libraries: libbrotlicommon{-static.a,.so}, libbrotlidec{,-static.a,.so}, and libbrotlienc{,-static.a,.so}
Installed Directory: /usr/include/brotli

### Short Descriptions

brotli | can compress or decompress files, or test the integrity of compressed files
`libbrotlicommon{-static.a,.so}` | is the Brotli common dictionary library
`libbrotlidec{-static.a,.so}` | is the Brotli decoder library
`libbrotlienc{-static.a,.so}` | is the Brotli common encoder library

Last updated on

- Prev

  Boost-1.78.0

- Next

  CLucene-2.3.3.4

- Up
- Home