Comment 11 for bug 1970057

Revision history for this message
tom stevens (tsteven4) wrote :

SRU request:

Please accept qt6-base 6.2.4+dfsg-8 into jammy.

[Impact]

1. QLibraryInfo can return non-existent paths.
2. This results in Qt6 QWebEngine being unusable.

[Test Plan]

1. Check the output of qtdiag from qt6-tools-dev-tools, and verify the paths exist.
a) Run "qtdiag --no-vulkan --no-rhi --no-gl | grep Path"
b) verify that the paths actually exist, in particular DataPath: /share/qt6 does not exist on jammy.

2. Build the Qt supplied simplebrowser example, and verify it launches without error
a) apt-get source libqt6webenginecore6
b) cd qt6-webengine-6.2.4+dfsg/examples/webenginewidgets/simplebrowser
c) mkdir bld
d) cd bld
e) cmake -DCMAKE_BUILD_TYPE=Release ..
f) cmake --build .
g) ./simplebrowser
An example of output from a failure is attached as faillog.txt. In particular note the failure to find resources at /share:
  Qt WebEngine resources not found at /share/qt6/resources. Trying parent directory...
  Qt WebEngine resources not found at /share/qt6. Trying application directory...
and the resulting segmentation fault:
  Segmentation fault (core dumped)

[Where problems could occur]

The change in 6.2.4+dfsg-8 restores the configuration settings that were used to build qtbase-opensource-src (5.14.2+dfsg-3) through qtbase-opensource-src (5.15.3+dfsg-2). The setting was lost on the transition from the Qt5 qmake build to the Qt6 cmake build.

The change causes QLibraryInfo to use paths known at build time instead of trying to dynamically establish the paths. This will fail if the package is relocated to a different location from that which it is build for. Since the package isn't relocatable this shouldn't be a problem.

[Other Info]

The change is currently in The Kinetic Kudu (active development).