#### Beyond Linux® From Scratch (systemd Edition) - Version r12.0-1685

### Chapter 25. Graphical Environment Libraries

- Prev

  qt-alternate-5.15.12

- Next

  QtWebEngine-5.15.17

- Up
- Home

# qt-components-5.15.12

## Introduction to qt5 components

These instructions show how to build additional Qt5 components beyond qt-alternate-5.15.12. They are not applicable if the full Qt-5.15.12 package has been built.

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

### Package Information

- Download (HTTP): https://download.qt.io/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz

- Download MD5 sum: 3fb1cd4f763f5d50d491508b7b99fb77

- Download size: 630 MB

### Additional Downloads

- Now that qt5 updates are restricted to commercial customers, upstream patches for the various modules are being curated at kde. Patches for the modules required by packages in BLFS have been aggregated for the non-modular qt5 build we use.

  Required patch: https://www.linuxfromscratch.org/patches/blfs/svn/qt-everywhere-opensource-src-5.15.12-kf5-1.patch

  Details of the kde curation can be found at https://dot.kde.org/2021/04/06/announcing-kdes-qt-5-patch-collection and https://community.kde.org/Qt5PatchCollection.

### qt5 components Dependencies

#### Required

qt-alternate-5.15.12

#### Recommended dependencies for qtimageformats

JasPer-4.2.0, libmng-2.0.3, libtiff-4.6.0, and libwebp-1.3.2

#### Recommended dependencies for qtmultimedia

gst-plugins-good-1.22.10, gst-plugins-bad-1.22.10, and gst-plugins-ugly-1.22.10

## Installation of qt5 components

There are a few extra components needed for different packages in BLFS. These are qtimageformats, qtlocation, qtwebchannel, qtdoc, and qtmultimedia. Only those components specified for a specific package are needed. You only need to build the relevant component(s).

First, apply a patch to pull in the fixes curated by KDE for some of the modules listed above:

    patch -Np1 -i ../qt-everywhere-opensource-src-5.15.12-kf5-1.patch

Next, if you are installing qtlocation, fix the build with GCC-13:

    sed -e "/pragma once/a#include <cstdint>"                                      \
        -i qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/geometry.hpp \
           qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/string.hpp   \
           qtlocation/src/3rdparty/mapbox-gl-native/src/mbgl/gl/stencil_mode.hpp

Install each desired component by running the following commands:

    cd <component>
    qmake <component>.pro
    make

As the `root` user:

    make install

Remove references to the build directory from installed library dependency (prl) files by running the following command as the `root` user:

    find $QT5DIR/ -name \*.prl \
       -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;

## Contents

Installed Programs: None
Installed Libraries: libQt5<component>.so
Installed Directories: $QT5DIR/qml/<component>, $QT5DIR/lib/cmake/<component>, and $QT5DIR/include/<component>

- Prev

  qt-alternate-5.15.12

- Next

  QtWebEngine-5.15.17

- Up
- Home