[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1018004: marked as done (qt6-tools: does not build and link with system litehtml)



Your message dated Thu, 03 Nov 2022 12:35:41 +0000
with message-id <E1oqZRd-007zjz-Si@fasolo.debian.org>
and subject line Bug#1018004: fixed in qt6-tools 6.4.0-2
has caused the Debian Bug report #1018004,
regarding qt6-tools: does not build and link with system litehtml
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
1018004: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1018004
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: src:qt6-tools
Version: 6.3.1-2
Severity: normal
Tags: patch

Dear Maintainer,

This package does not currently build and link with system litehtml
as apparently desired. A build dependency on liblitehtml-dev seems
to indicate an intention for the package to use the system litehtml
for the Qt Assistant tool, though the currently packaged litehtml
(0.5-3) is not successfully found via CMake due missing the needed
litehtmlConfig.cmake file. So this bug also applies to litehtml.

Failure to build/link with the system litehtml is easily confirmed
by looking at the assistant-qt6 package [1] which shows no depends
on liblitehtml0 as would be expected if system litehtml was used.
For previous versions of qt6-tools (ie. 6.2.4) the usual CMake
status output shows the failure to find system litehtml during the
dh_auto_configure phase which includes the following output [2]:

[...]
-- The following OPTIONAL packages have not been found:

 * Qt6QmlCompilerPlus
 * litehtml
[...]

Builds of Qt 6.3.1 packages including qt6-tools have much reduced
CMake output for some reason, including on Ubuntu Launchpad (not
sure why this is so ?) and so the "not been found" message is not
shown in the build logs (ie. for latest 6.3.1-2 [3] package).

Looking into src:qt6-tools there is a 3rdparty directory [4] which
includes a full copy of litehtml source as at commit 971eadc on
2021-10-28 [5]. This is confirmed by doing a git clone of litehtml
at that exact commit, with no differences seen between that version
of litehtml source and litehtml source included in src:qt6-tools.

Builds of src:qt6-tools that successfully use and link with system
litehtml have been tested by me, through packaging the exact same
version of litehtml (0.5+git20211028) as included in src:qt6-tools.
A patch is then also required due issues with Qt CMake code (trying
to set Qt defs only applicable to source code in the Qt6 Tools
project) and a changed location of litehtml headers (after 0.5).

Builds of src:qt6-tools 6.2.4 against src:litehtml 0.5+git20211028
that demonstrate successful use and linking with the system litehtml
are now available at a recently created Launchpad PPA [6] for Ubuntu
users. So this bug does also affect qt6-tools 6.2.4-2~bpo11+1 as
found in bullseye-backports repository, confirmed by above mentioned
build logs and again by checking depends for assistant-qt6 [7].

Basic testing of the /usr/lib/qt6/bin/assistant binary (installed
via assistant-qt6 binary package) from the Launchpad PPA shows that
it appears to work as intended. Adding precompiled Qt help (.qch)
files via preferences allows browsing of the content successfully.

Attached is a proposed patch which applies cleanly to the qt6-tools
6.3.1-2 package as currently found in Sid. An adaptation of changes
made by this patch was used for 6.2.4 with the mentioned Launchpad
PPA builds, as could be done for the Bullseye qt6-tools backport.
This patch will only be useful once litehtml 0.5+git20211028 is also
packaged, due that version being required for a successful build.

A bug report will subsequently be filed for litehtml detailing the
required version and also other fixes (including updating a patch
to litehtml CMakeLists.txt) for building and linking to work with
qt6-tools successfully. Both packages will have to be updated for
that result to be achieved.

Thank you for your work maintaining the Qt6 packages.

[1] https://packages.debian.org/sid/assistant-qt6
[2]
https://buildd.debian.org/status/fetch.php?pkg=qt6-tools&arch=amd64&ver=6.2.4-3&stamp=1657216677&raw=0
[3]
https://buildd.debian.org/status/fetch.php?pkg=qt6-tools&arch=amd64&ver=6.3.1-2&stamp=1660602816&raw=0
[4] src:qt6-tools -> src/assistant/qlitehtml/src/3rdparty/litehtml
[5] https://github.com/litehtml/litehtml/commit/971eadc
[6] https://launchpad.net/~savoury1/+archive/ubuntu/qt-6-2
[7] https://packages.debian.org/bullseye-backports/assistant-qt6
 debian/changelog                                                 |  9 ++
 debian/control                                                   |  2 +-
 /dev/null => debian/patches/fix-build-with-system-litehtml.patch | 62 ++++++++
 /dev/null => debian/patches/series                               |  1 +
 4 files changed, 73 insertions(+), 1 deletion(-)

diff --git qt6-tools-6.3.1.orig/debian/changelog qt6-tools-6.3.1/debian/changelog
index eacadb8..bfb1f75 100644
--- qt6-tools-6.3.1.orig/debian/changelog
+++ qt6-tools-6.3.1/debian/changelog
@@ -1,3 +1,12 @@
+qt6-tools (6.3.1-3) UNRELEASED; urgency=medium
+
+  * Actually build with system litehtml (not previously working):
+    - debian/patches/: Add fix-build-with-system-litehtml.patch to fix FTBFS
+    - debian/control: Bump to liblitehtml-dev (>= 0.5+git20211028) BD for the
+      exact version included in src:qt6-tools, required for successful build
+
+ -- Rob Savoury <savoury@savos.tech>  Tue, 23 Aug 2022 14:06:25 -0700
+
 qt6-tools (6.3.1-2) unstable; urgency=medium
 
   [ Patrick Franz ]
diff --git qt6-tools-6.3.1.orig/debian/control qt6-tools-6.3.1/debian/control
index 66847b3..8212cb1 100644
--- qt6-tools-6.3.1.orig/debian/control
+++ qt6-tools-6.3.1/debian/control
@@ -8,7 +8,7 @@ Build-Depends: clang (>= 1:13~),
                debhelper-compat (= 13),
                libclang-dev (>= 1:13~),
                libgl-dev,
-               liblitehtml-dev,
+               liblitehtml-dev (>= 0.5+git20211028),
                libqt6opengl6-dev (>= 6.3.1+dfsg~),
                libssl-dev,
                libvulkan-dev [linux-any],
diff --git qt6-tools-6.3.1.orig/debian/patches/fix-build-with-system-litehtml.patch qt6-tools-6.3.1/debian/patches/fix-build-with-system-litehtml.patch
new file mode 100644
index 0000000..0874f65
--- /dev/null
+++ qt6-tools-6.3.1/debian/patches/fix-build-with-system-litehtml.patch
@@ -0,0 +1,62 @@
+From: Rob Savoury <savoury@savos.tech>
+Date: Tue, 23 Aug 2022 13:39:08 -0700
+Subject: Fix build with system litehtml
+
+CMake errors out when using system litehtml (which depends on gumbo) due being
+unable to set definitions for libraries not built by the Qt6 Tools project:
+
+ CMake Error at /usr/lib/x86_64-linux-gnu/cmake/Qt6/QtFlagHandlingHelpers.cmake:171 (target_compile_definitions):
+   Cannot specify compile definitions for target "litehtml" which is not built
+   by this project.
+ Call Stack (most recent call first):
+   src/assistant/CMakeLists.txt:34 (qt_internal_set_exceptions_flags)
+
+
+ CMake Error at /usr/lib/x86_64-linux-gnu/cmake/Qt6/QtFlagHandlingHelpers.cmake:190 (get_target_property):
+   get_target_property() called with non-existent target "litehtml".
+ Call Stack (most recent call first):
+   src/assistant/CMakeLists.txt:35 (qt_disable_warnings)
+
+
+ CMake Error at /usr/lib/x86_64-linux-gnu/cmake/Qt6/QtFlagHandlingHelpers.cmake:190 (get_target_property):
+   get_target_property() called with non-existent target "gumbo".
+ Call Stack (most recent call first):
+   src/assistant/CMakeLists.txt:37 (qt_disable_warnings)
+
+Also, litehtml > 0.5 reorganises the headers into a litehtml sub-directory
+(this build is with exactly litehtml 0.5+git20211028, the same version found
+in Qt6 Tools source code). Fix the build by removing attempts to set Qt defs
+for litehtml/gumbo and by using the new path to the primary header.
+---
+ src/assistant/CMakeLists.txt                       | 3 ---
+ src/assistant/qlitehtml/src/container_qpainter_p.h | 2 +-
+ 2 files changed, 1 insertion(+), 4 deletions(-)
+
+diff --git src/assistant/CMakeLists.txt b/src/assistant/CMakeLists.txt
+index e9b2146..3878e77 100644
+--- src/assistant/CMakeLists.txt
++++ src/assistant/CMakeLists.txt
+@@ -31,10 +31,7 @@ endif()
+ add_subdirectory(qlitehtml/src EXCLUDE_FROM_ALL)
+ if(TARGET qlitehtml)
+     qt_autogen_tools_initial_setup(qlitehtml)
+-    qt_internal_set_exceptions_flags(litehtml OFF)
+-    qt_disable_warnings(litehtml)
+     qt_disable_warnings(qlitehtml)
+-    qt_disable_warnings(gumbo)
+     qt_handle_multi_config_output_dirs(qlitehtml)
+     set_target_properties(qlitehtml PROPERTIES
+         RUNTIME_OUTPUT_DIRECTORY "${QT_BUILD_DIR}/${INSTALL_BINDIR}"
+diff --git src/assistant/qlitehtml/src/container_qpainter_p.h b/src/assistant/qlitehtml/src/container_qpainter_p.h
+index 074f8d7..ecfa2f3 100644
+--- src/assistant/qlitehtml/src/container_qpainter_p.h
++++ src/assistant/qlitehtml/src/container_qpainter_p.h
+@@ -30,7 +30,7 @@
+ 
+ #include "container_qpainter.h"
+ 
+-#include <litehtml.h>
++#include <litehtml/litehtml.h>
+ 
+ #include <QPaintDevice>
+ #include <QPixmap>
diff --git qt6-tools-6.3.1.orig/debian/patches/series qt6-tools-6.3.1/debian/patches/series
new file mode 100644
index 0000000..268a63c
--- /dev/null
+++ qt6-tools-6.3.1/debian/patches/series
@@ -0,0 +1 @@
+fix-build-with-system-litehtml.patch






--- End Message ---
--- Begin Message ---
Source: qt6-tools
Source-Version: 6.4.0-2
Done: Patrick Franz <deltaone@debian.org>

We believe that the bug you reported is fixed in the latest version of
qt6-tools, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1018004@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Patrick Franz <deltaone@debian.org> (supplier of updated qt6-tools package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Thu, 03 Nov 2022 13:21:20 +0100
Source: qt6-tools
Architecture: source
Version: 6.4.0-2
Distribution: experimental
Urgency: medium
Maintainer: Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Changed-By: Patrick Franz <deltaone@debian.org>
Closes: 1015625 1018004
Changes:
 qt6-tools (6.4.0-2) experimental; urgency=medium
 .
   [ Patrick Franz ]
   * Remove redundant B-D.
   * Enable link time optimization (Closes: #1015625).
 .
   [ Rob Savoury ]
   * Actually build with system litehtml (Closes: #1018004):
     - debian/patches/: Add fix-build-with-system-litehtml.patch to fix FTBFS
     - debian/control: Bump to liblitehtml-dev (>= 0.6~) B-D for the
       exact version included in src:qt6-tools, required for successful build
Checksums-Sha1:
 3a7c70d1c3bc012f64f1342c074ffe52facc89de 3163 qt6-tools_6.4.0-2.dsc
 16d78aebac4c98158f24fcaa06c4c8851b9f5928 36544 qt6-tools_6.4.0-2.debian.tar.xz
 dc16963071f0aa38b2f47931cbbcba0716643766 8990 qt6-tools_6.4.0-2_source.buildinfo
Checksums-Sha256:
 bc491ecc8b2335e99235fe8f82ed56353781984966b713704466491269d45440 3163 qt6-tools_6.4.0-2.dsc
 0da2896a017c7378bbe166a33f2d70e74bcd03a879009ccb28270b9f1d7329e5 36544 qt6-tools_6.4.0-2.debian.tar.xz
 ec764f1921ec0ac1ab664d2ccfbdc652b536e0477e716ca1f5acdf687ea52985 8990 qt6-tools_6.4.0-2_source.buildinfo
Files:
 31492b139927642503e7b58bf2c96bdf 3163 libs optional qt6-tools_6.4.0-2.dsc
 2b491d8cfdaac90319708e0b31aaad2f 36544 libs optional qt6-tools_6.4.0-2.debian.tar.xz
 3c843bb292141ecbfc46e939d171f899 8990 libs optional qt6-tools_6.4.0-2_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEYodBXDR68cxZHu3Knp96YDB3/lYFAmNjsmkACgkQnp96YDB3
/lb1vRAAie2CzXSXd5m4GPH+W/6LIsvMR2YoUICayUfTojTkvhmRZFN4llPLxjz/
nQcV7alNG+gwmXAaYwn3NWk2KDbKXSnhwQM4/lDZnstLNvKN+21XO7Hluv5UEUi1
NwRitg0IbtdJew21cdNfr+0mYcf6GMmrtdZeMwFoEQ/tNo2fsbxvI3vcN/crvtqJ
RAA1YS2f2QtuA6CEDikuKxeH6nkP3lUP7HYziATaNgUu/Cp9yaL17UjS03PRniOI
oY2MRmENTiBye14xfUSuDm0PFHGkRzm6hKaTdQaGmTq/6MG/do1ajC7/5yyVIsl8
x7l+M9wI1j9nWpisQfixAMx5RgP4jlPIJpQKMqHzfigsggO/TC6mOo2QEM2yCIT0
UeO/My0dZ9ksfeGv4gWDHe5k2zWUtuvTEk+/IJzI/06ijgxXrja1opnvJwpto3UN
B3PYKxLfQApm2PpZ1S1J3nGEMWXM8+S1mhDADaNAMpue1XqqeLYYHCymh2dZ9fez
uTMPqo5xSTXxdT7XxWSULWX2zSkiKLyIoLcshQlfWQiDxWdXR9hRcMFEiug4WjCT
Dg1Q+chSPlLTn/nCz8w9nJ9KumH032Yp74tModOv181A9+5TtUZabr9nHX5TyBJk
DqEDwG2N4P+RwyrkvO2oV4Ff2gVMjsi4dYa9gNoKOjbytz6bRhA=
=wUOP
-----END PGP SIGNATURE-----

--- End Message ---

Reply to: