[kde] [Bug 403042] New: Qt5 from KDE 5.12 runtime requires Linux kernel >= 3.17
bugzilla_noreply at kde.org
bugzilla_noreply at kde.org
Wed Jan 9 16:06:15 GMT 2019
https://bugs.kde.org/show_bug.cgi?id=403042
Bug ID: 403042
Summary: Qt5 from KDE 5.12 runtime requires Linux kernel >=
3.17
Product: kde
Version: unspecified
Platform: Flatpak
OS: Linux
Status: REPORTED
Severity: critical
Priority: NOR
Component: general
Assignee: unassigned-bugs at kde.org
Reporter: scx.mail at gmail.com
Target Milestone: ---
It seems that Qt5 from KDE 5.12 requires Linux kernel >= *3.17*.
https://github.com/flathub/flathub/issues/805
```
> $ flatpak run --command=file org.kde.Sdk//5.11 -L /usr/lib/libQt5Core.so.5
> /usr/lib/libQt5Core.so.5: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-x86-64.so.2, for GNU/Linux 2.6.28, BuildID[sha1]=55f0af0db424e36d4747078c3983937f41761d75, stripped
```
```
> $ flatpak run --command=file org.kde.Sdk//5.12 -L /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
> /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: ELF 64-bit LSB pie executable x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=343152921fe7eb79af20efb2f735659b0982991b, for GNU/Linux 3.17.0, stripped
```
According to the minimum-linux_p.h, it is probably because Qt started using the
`getrandom` syscall which was introduced in Linux *3.17*.
https://code.qt.io/cgit/qt/qtbase.git/tree/src/corelib/global/minimum-linux_p.h?id=4d9ac14bf8d1c1a33a2720c7f7dcaf8d912a592f#n77
It is possible build Qt without the `getentropy` feature and that would lower
the required kernel version to *3.16*. Disabling `renameat2` will further
reduce the requirements to *2.6.28*.
As you can see, it is possible to build Qt 5.12 against older kernel (RHEL 7.6,
Devtoolset 7):
```
> $ file lib/libQt5Core.so.5.12.0
> lib/libQt5Core.so.5.12.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.28, BuildID[sha1]=acde2ce7459f76f3edae7e4caa75230fe0fbaad9, not stripped
```
See also:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=895718#51
https://forum.critterandguitari.com/t/problems-with-qt/2246/9
Anyway, this means that on systems with the older kernel, you can't neither
build nor run Qt5-based applications. We're still talking about the KDE 5.12
runtime, of course.
Examples of build failures:
```
> /cfgtest_QtCore: error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory
```
```
> /usr/bin/lrelease: error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory
```
Examples of run failures:
```
> $ flatpak run org.pencil2d.Pencil2D
> bwrap: Can't mkdir /usr/lib/sdk: Read-only file system
> error: ldconfig failed, exit status 256
```
```
> $ flatpak run org.olivevideoeditor.Olive
> bwrap: Can't mkdir /usr/lib/sdk: Read-only file system
> error: ldconfig failed, exit status 256
```
```
> $ flatpak run org.bunkus.mkvtoolnix-gui
> bwrap: Can't mkdir /usr/lib/sdk: Read-only file system
> error: ldconfig failed, exit status 256
```
List of affected systems:
* EL 7 (Red Hat Enterprise Linux 7, CentOS 7, Scientific Linux 7, Oracle Linux
7 with the Red Hat compatible kernel) - End Of Life: 2024-06
* Debian 8 (oldstable) - End Of Life: 2020-05
* Ubuntu 14.04 LTS - End Of Life: 2019-04
Currently affected apps from Flathub repo:
* org.bunkus.mkvtoolnix-gui - https://github.com/flathub/flathub/pull/533
* org.olivevideoeditor.Olive - https://github.com/flathub/flathub/pull/794
* org.pencil2d.Pencil2D - https://github.com/flathub/flathub/pull/527
```
> $ grep -HERi 'runtime-version.*5\.12' *
> org.bunkus.mkvtoolnix-gui/org.bunkus.mkvtoolnix-gui.yaml:runtime-version: '5.12'
> org.kde.KStyle.Adwaita/org.kde.KStyle.Adwaita.json: "runtime-version": "5.12",
> org.kde.KStyle.HighContrast/org.kde.KStyle.HighContrast.json: "runtime-version": "5.12",
> org.kde.PlatformTheme.QGnomePlatform/org.kde.PlatformTheme.QGnomePlatform.json: "runtime-version": "5.12",
> org.olivevideoeditor.Olive/org.olivevideoeditor.Olive.yaml:runtime-version: '5.12'
> org.pencil2d.Pencil2D/org.pencil2d.Pencil2D.yaml:runtime-version: '5.12'
```
What is worse, this problem affects all applications from the KDE repository.
https://phabricator.kde.org/source/flatpak-kde-applications
I would like to ask you to rebuild KDE 5.12 against Linux <= 3.2.
https://phabricator.kde.org/source/flatpak-kde-runtime
There is already an idea to document and verify allowed kernel dependencies, in
particular for runtimes.
https://github.com/flatpak/flatpak/issues/2551#issuecomment-452697898
Please keep in mind that Freedesktop 18.08 (on which KDE 5.12 is based)
contains glibc 2.27, so it requires at least Linux *3.2*, but it shouldn't be a
problem.
On the other hand, Freedesktop 1.6 uses glibc 2.24, which requires kernel
*2.6.32*, at least for i686 and x86_64.
https://www.sourceware.org/ml/libc-alpha/2016-08/msg00212.html
> The GNU C Library version 2.24 is now available
> (...)
> The minimum Linux kernel version that this version of the GNU C Library can be used with is 3.2, except on i[4567]86 and x86_64, where Linux kernel version 2.6.32 or later suffices (on architectures that already required kernel versions more recent than 3.2, those requirements remain unchanged).
https://sourceware.org/ml/libc-alpha/2017-08/msg00010.html
> The GNU C Library version 2.26 is now available
> (...)
> Linux kernel 3.2 or later is required at runtime, on all architectures supported by that kernel. (This is a change from version 2.25 only for x86-32 and x86-64.)
See also:
https://github.com/flathub/flathub/issues/805
https://github.com/flatpak/flatpak/issues/2551
https://github.com/flathub/net.ankiweb.Anki/pull/19#issuecomment-451034931
https://github.com/flathub/net.ankiweb.Anki/pull/19#issuecomment-452248896
https://github.com/KDE/flatpak-kde-runtime/pull/5
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the Unassigned-bugs
mailing list