[Bug 1970057] Re: Qt6 QLibraryInfo returns wrong paths
Launchpad Bug Tracker
1970057 at bugs.launchpad.net
Wed Jan 4 13:32:24 UTC 2023
This bug was fixed in the package qt6-base - 6.2.4+dfsg-2ubuntu1.1
---------------
qt6-base (6.2.4+dfsg-2ubuntu1.1) jammy; urgency=medium
* Make QLibraryInfo tolerant of symbolic links in loader search path
(LP: #1970057).
-- Steven Trabert <tsteven4 at gmail.com> Mon, 02 May 2022 13:21:10 -0600
** Changed in: qt6-base (Ubuntu Jammy)
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to a duplicate bug report (1995967).
https://bugs.launchpad.net/bugs/1970057
Title:
Qt6 QLibraryInfo returns wrong paths
Status in Stellarium:
New
Status in qt6-base package in Ubuntu:
Fix Released
Status in qt6-base source package in Jammy:
Fix Released
Bug description:
[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.
[Original Description]
The qtdiag program can be used to find the paths returned by
QLibraryInfo:
qtdiag --no-vulkan --no-rhi --no-gl
In this output on jammy (22.04) with qt6-base-dev (6.2.4+dfsg-2ubuntu1) I see:
Library info:
PrefixPath: /
DocumentationPath: /share/qt6/doc
HeadersPath: /include/x86_64-linux-gnu/qt6
LibrariesPath: /lib/x86_64-linux-gnu
LibraryExecutablesPath: /lib/qt6/libexec
BinariesPath: /lib/qt6/bin
PluginsPath: /lib/x86_64-linux-gnu/qt6/plugins
QmlImportsPath: /lib/x86_64-linux-gnu/qt6/qml
ArchDataPath: /lib/x86_64-linux-gnu/qt6
DataPath: /share/qt6
TranslationsPath: /share/qt6/translations
ExamplesPath: /lib/x86_64-linux-gnu/qt6/examples
TestsPath: /tests
SettingsPath: /etc/xdg
This is problematic. For example, the DataPath /share/qt6 does not
exist. This can lead to various failures. For example a Qt
application using the Qt WebEngine might report:
Qt WebEngine resources not found at /share/qt6/resources. Trying parent directory...
Qt WebEngine resources not found at /share/qt6. Trying application directory...
Qt WebEngine resources not found at /app/gpsbabel/gui/GPSBabelFE. Trying fallback directory... The application MAY NOT work.
Path override failed for key base::DIR_QT_LIBRARY_DATA and path '/home/tsteven4/.GPSBabel'
Installed Qt WebEngine locales directory not found at location /share/qt6/translations/qtwebengine_locales. Trying application directory...
Qt WebEngine locales directory not found at location /app/gpsbabel/gui/GPSBabelFE/qtwebengine_locales. Trying fallback directory... Translations MAY NOT not be correct.
Path override failed for key ui::DIR_LOCALES and path '/home/tsteven4/.GPSBabel'
[0423/194717.040426:ERROR:resource_bundle.cc(911)] Failed to load /home/tsteven4/.GPSBabel/qtwebengine_resources_100p.pak
Some features may not be available.
[0423/194717.041440:ERROR:resource_bundle.cc(911)] Failed to load /home/tsteven4/.GPSBabel/qtwebengine_resources_200p.pak
Some features may not be available.
[0423/194717.041481:ERROR:resource_bundle.cc(911)] Failed to load /home/tsteven4/.GPSBabel/qtwebengine_resources.pak
Some features may not be available.
[0423/194717.042243:WARNING:resource_bundle_qt.cpp(119)] locale_file_path.empty() for locale
[3004:3004:0423/194717.389096:ERROR:extension_system_qt.cpp(121)] Failed to parse extension manifest.
Segmentation fault (core dumped)
I note that qtdiag reports the correct paths on debian sid and
qt6-base-dev (6.2.4+dfsg-4):
Library info:
PrefixPath: /usr
DocumentationPath: /usr/share/qt6/doc
HeadersPath: /usr/include/x86_64-linux-gnu/qt6
LibrariesPath: /usr/lib/x86_64-linux-gnu
LibraryExecutablesPath: /usr/lib/qt6/libexec
BinariesPath: /usr/lib/qt6/bin
PluginsPath: /usr/lib/x86_64-linux-gnu/qt6/plugins
QmlImportsPath: /usr/lib/x86_64-linux-gnu/qt6/qml
ArchDataPath: /usr/lib/x86_64-linux-gnu/qt6
DataPath: /usr/share/qt6
TranslationsPath: /usr/share/qt6/translations
ExamplesPath: /usr/lib/x86_64-linux-gnu/qt6/examples
TestsPath: /usr/tests
SettingsPath: /etc/xdg
It is not clear to me if this is because of the difference in package
versions, or some issue with ubuntu packaging.
ProblemType: Bug
DistroRelease: Ubuntu 22.04
Package: libqt6core6 6.2.4+dfsg-2ubuntu1
ProcVersionSignature: Ubuntu 5.13.0-40.45~20.04.1-generic 5.13.19
Uname: Linux 5.13.0-40-generic x86_64
ApportVersion: 2.20.11-0ubuntu82
Architecture: amd64
CasperMD5CheckResult: unknown
Date: Sat Apr 23 19:40:12 2022
ProcEnviron:
TERM=xterm
PATH=(custom, no user)
LANG=en_US.UTF-8
SourcePackage: qt6-base
UpgradeStatus: No upgrade log present (probably fresh install)
To manage notifications about this bug go to:
https://bugs.launchpad.net/stellarium/+bug/1970057/+subscriptions
More information about the Ubuntu-sponsors
mailing list