libjxl-0.10.3

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

### Chapter 10. Graphics and Font Libraries

- Prev

  libjpeg-turbo-3.0.1

- Next

  libmng-2.0.3

- Up
- Home

# libjxl-0.10.3

## Introduction to libjxl

The libjxl package contains the reference implementation of the JPEG XL image format.

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

### Package Information

- Download (HTTP): https://github.com/libjxl/libjxl/archive/v0.10.3/libjxl-0.10.3.tar.gz

- Download MD5 sum: 0fd3db8956a41d13b5e8eac4fe61d8d3

- Download size: 1.8 MB

- Estimated disk space required: 42 MB

- Estimated build time: 0.6 SBU (with parallelism=4)

### libjxl Dependencies

#### Required

Brotli-1.1.0, CMake-3.30.2, giflib-5.2.2, highway-1.2.0, Little CMS-2.16, libjpeg-turbo-3.0.1, and libpng-1.6.43

#### Recommended

gdk-pixbuf-2.42.12 (for the plugin)

#### Optional

Doxygen-1.12.0 and Graphviz-12.1.0 (for documentation), Java-22.0.2 (for the JAR), libavif-1.1.1, libwebp-1.4.0, gtest, OpenEXR, sjpeg, and skcms

## Installation of libjxl

Install libjxl by running the following commands:

    mkdir build &&
    cd    build &&

    cmake -D CMAKE_INSTALL_PREFIX=/usr             \
          -D CMAKE_BUILD_TYPE=Release              \
          -D BUILD_TESTING=OFF                     \
          -D BUILD_SHARED_LIBS=ON                  \
          -D JPEGXL_ENABLE_SKCMS=OFF               \
          -D JPEGXL_ENABLE_SJPEG=OFF               \
          -D JPEGXL_ENABLE_PLUGINS=ON              \
          -D JPEGXL_INSTALL_JARDIR=/usr/share/java \
          -G Ninja ..                              &&
    ninja

This package does come with a test suite, but it requires gtest, which is not in BLFS.

Now, as the `root` user:

    ninja install &&
    gdk-pixbuf-query-loaders --update-cache

## Command Explanations

gdk-pixbuf-query-loaders --update-cache: This command regenerates the GDK Pixbuf loader cache so that it is aware of the JPEG-XL loader.

`-D BUILD_TESTING=OFF`: This parameter disables the tests because they require gtest, which is not in BLFS. If you wish to run the tests and have gtest installed, remove this parameter.

`-D BUILD_SHARED_LIBS=ON`: This parameter enables building shared versions of the libraries instead of static ones.

`-D JPEGXL_ENABLE_SKCMS=OFF`: This parameter disables building support for Skia's skcms since it is not necessary for BLFS purposes and requires skcms.

`-D JPEGXL_ENABLE_SJPEG=OFF`: This parameter disables support for SimpleJPEG since it is not necessary for BLFS purposes and requires sjpeg.

`-D JPEGXL_ENABLE_PLUGINS=ON`: This parameter enables Plugin support, which creates plugins for gdk-pixbuf-2.42.12 if the package is installed.

`-D JPEGXL_INSTALL_JARDIR=/usr/share/java`: This parameter places the JAR file for JPEG XL support in the correct directory if Java-22.0.2 is installed.

## Contents

Installed Programs: benchmark_xl, cjxl, djxl, and jxlinfo
Installed Libraries: libjxl.so, libjxl_cms.so, libjxl_extras_codec.so, libjxl_jni.so, libjxl_threads.so, and libpixbufloader-jxl.so (in /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders)
Installed Directories: /usr/include/jxl

### Short Descriptions

benchmark_xl | runs performance benchmarks against libjxl
cjxl | compresses images into JPEG XL format
djxl | decompresses images from JPEG XL format into other formats
jxlinfo | displays information about JPEG XL images
`libjxl.so` | contains the reference implementation of the JPEG XL standard
`libjxl_cms.so` | contains support for Little CMS in libjxl
`libjxl_extras_codec.so` | contains additional codec support for JPEG XL images
`libjxl_jni.so` | contains a Java interface to support JPEG XL on systems where Java-22.0.2 was installed at build time
`libjxl_threads.so` | contains threading functions for JPEG XL
`libpixbufloader-jxl.so` | contains a loader for gdk-pixbuf to allow it to load JPEG XL images

- Prev

  libjpeg-turbo-3.0.1

- Next

  libmng-2.0.3

- Up
- Home