These instructions show how to build additional Qt5 components beyond qt-alternate-5.15.11. They are not applicable if the full Qt-5.15.11 package has been built.
Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.
Download (HTTP): https://download.qt.io/archive/qt/5.15/5.15.11/single/qt-everywhere-opensource-src-5.15.11.tar.xz
Download MD5 sum: 37b79a3764b0c9157fa3686df209b25a
Download size: 630 MB
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.11-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.
JasPer-4.1.0, libmng-2.0.3, libtiff-4.6.0, and libwebp-1.3.2
gst-plugins-good-1.22.7, gst-plugins-bad-1.22.7, and gst-plugins-ugly-1.22.7
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.11-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' {} \;