Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
6.8.1
-
None
-
-
ffef51688 (dev), d4aac087f (6.8)
Description
I used to build and package Qt modules in a way similar to what COIN is doing:
- Qt is installed in /home/qt/work/install/
- I build a Qt module using /home/qt/work/install/bin/qt-configure-module <path to module>
- Finally I run cmake --install . --prefix /home/qt/work/install_root
However, since v6.8.1, this does not work anymore.
During the cmake --install step it fails during SBOM generation. I have tested with multiple Qt modules and they all failed. Here is the output for QtWebEngine:
-- Starting SBOM generation in build dir: /home/qt/work/build/qt_sbom/staging-qtwebengine.spdx.in CMake Error at qt_sbom/SPDXRef-PackagedFile-qt-module-WebEngineCore.cmake:5 (message): Cannot find 'lib/libQt6WebEngineCore.so.6.8.1' to compute its checksum. Expected to find it at '/home/qt/work/install/lib/libQt6WebEngineCore.so.6.8.1' Call Stack (most recent call first): qt_sbom/assemble_sbom.cmake:14 (include) cmake_install.cmake:133 (include)
In other word the SBOM generation is looking for libQt6WebEngineCore.so.6.8.1 in the Qt install directory, not in the module install directory, disregarding the {{--prefix)) option.
It seems there are 2 ways to mitigate the issue:
- Run cmake -install without prefix before running it with -prefix, this is what COIN is doing
- Set -no-sbom when calling qt-configure-module. For some reason setting -no-sbom during the initial configure is not carried over to modules that are built later with qt-configure-module
Attachments
Issue Links
- relates to
-
QTBUG-132188 Could not find external SBOM document
-
- Closed
-