Then it would require Linux 2.6.28 [1] or rather Linux 3.2 [2a][2b][2c], since you use glibc 2.27, which is still fine, because both EL7 and Ubuntu 14.04 LTS have newer kernels:
- RHEL 7: Linux 3.10
- Ubuntu 14.04 LTS: Linux 3.13
Snaps support RHEL since version 7.6, Ubuntu since version 14.04, and Debian since version 9.
[2a] https://www.sourceware.org/ml/libc-alpha/2016-08/msg00212.html
Originally posted by Adhemerval Zanella:
> 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).
[2b] https://sourceware.org/ml/libc-alpha/2017-08/msg00010.html
Originally posted by Siddhesh Poyarekar:
> 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.)
The flatpak creator pointed out that we should check rather for symbols/features, because some kernels may be highly modified, as it is in EL. https://github.com/flatpak/flatpak/issues/2551#issuecomment-456002791
> Kernel requirements are tricky things. Generally the dependency is not on a specific version but on some feature/behaviour, and those are often backported to enterprise kernel without bumping the kernel version.
You can also perform some additional verification for runtimes and apps, to make sure that they won't require Linux > 3.2. Maybe CI that runs apps (and runtimes) on old kernels would help us to prevent problems like this in the future. This was originally proposed by Matthias Clasen from Fedora Silverblue.
Anyway, without additional checks, we can hit this problem again in the future (e.g. core20, core22, core24, etc).
> Is that something that KDE can address internally by detecting ENOSYS and falling back to another option? /code.qt. io/cgit/ qt/qtbase. git/tree/ src/corelib/ global/ minimum- linux_p. h?id=7148dfc67f f20c1c625d203aa 47b574b3aaa5db1 #n77 /phabricator. kde.org/ R257:a029f2957e 947f6e32fe8a595 edb0ac553654e90
Yes, it should be possible for them to force disable renameat2 (requires Linux 3.16), getentropy (requires Linux 3.17), and statx (requires Linux 4.11).
https:/
https:/
Then it would require Linux 2.6.28 [1] or rather Linux 3.2 [2a][2b][2c], since you use glibc 2.27, which is still fine, because both EL7 and Ubuntu 14.04 LTS have newer kernels:
- RHEL 7: Linux 3.10
- Ubuntu 14.04 LTS: Linux 3.13
Snaps support RHEL since version 7.6, Ubuntu since version 14.04, and Debian since version 9.
[1] /github. com/flathub/ flathub/ issues/ 805#issuecommen t-453004369 /bugs.kde. org/show_ bug.cgi? id=403042# c2
https:/
https:/
[2a] /www.sourceware .org/ml/ libc-alpha/ 2016-08/ msg00212. html
https:/
Originally posted by Adhemerval Zanella:
> 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).
[2b] /sourceware. org/ml/ libc-alpha/ 2017-08/ msg00010. html
https:/
Originally posted by Siddhesh Poyarekar:
> 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.)
[2c] /paste. ubuntu. com/p/mYn78gPGG f/
https:/
Fortunately, glibc 2.30 from Ubuntu 19.10 still requires Linux 3.2. mirrors. kernel. org/ubuntu/ pool/main/ g/glibc/ libc6_2. 30-0ubuntu3_ amd64.deb 64-linux- gnu/ -print0 2>/dev/null | xargs -0 -I{} file '{}' | grep -Z 'for GNU/Linux ' | sort -z -fuV 64-linux- gnu/libnss_ nisplus- 2.30.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[ sha1]=d559cd4fe cb3e9ec60349294 33232fe9cf9bf2d f, for GNU/Linux 3.2.0, stripped 64-linux- gnu/libcrypt- 2.30.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[ sha1]=74cd3b111 e7f7dccd596228a 37b5ae1d3e6a794 a, for GNU/Linux 3.2.0, stripped 64-linux- gnu/libresolv- 2.30.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[ sha1]=ff5d93702 a4017d41249ce54 a6c14f813a8db42 3, for GNU/Linux 3.2.0, stripped 64-linux- gnu/libpcprofil e.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[ sha1]=ed69d6614 4b257737a641278 96e95180f6815e7 2, for GNU/Linux 3.2.0, stripped 64-linux- gnu/libmemusage .so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[ sha1]=23d60bb06 13a7cb0563f6480 7166a54c554de0b 6, for GNU/Linux 3.2.0, stripped 64-linux- gnu/libc- 2.30.so: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked (uses shared libs), BuildID[ sha1]=75e3e2d95 96aae251330ae7e f3f91a847fc6264 1, for GNU/Linux 3.2.0, stripped 64-linux- gnu/libSegFault .so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[ sha1]=3bf8ae725 50e3c53e3d91165 62fc56979a5a408 1, for GNU/Linux 3.2.0, stripped 64-linux- gnu/librt- 2.30.so: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, BuildID[ sha1]=d0f294e03 9c6e5de8a1e6ea0 4dba789ff95ae21 8, for GNU/Linux 3.2.0, stripped 64-linux- gnu/libBrokenLo cale-2. 30.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[ sha1]=f4991f571 357cf4afb3b6ef9 b6d54d72445f099 1, for GNU/Linux 3.2.0, stripped 64-linux- gnu/libnsl- 2.30.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[ sha1]=83e1504c4 089fd82229005d6 50e55b934a93c0e c, for GNU/Linux 3.2.0, stripped 64-linux- gnu/libnss_ files-2. 30.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[ sha1]=8633f0eda 56e18c053586bb8 32b9277eb22a00d a, for GNU/Linux 3.2.0, stripped 64-linux- gnu/libutil- 2.30.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[ sha1]=d1827de3d f144706cee2ca4e f03c74faf50061b c, for GNU/Linux 3.2.0, stripped 64-linux- gnu/libm- 2.30.so: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, BuildID[ sha1]=52276261b 9ecfdbda554a198 6593638de377966 a, for GNU/Linux 3.2.0, stripped 64-linux- gnu/libanl- 2.30.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[ sha1]=d45ab76d9 41abcf989069496 a17633619a477b7 6, for GNU/Linux 3.2.0, stripped 64-linux- gnu/libmvec- 2.30.so: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, BuildID[ sha1]=47f7af5db 1f6ed23d19a9d11 d1d4240c63fecf4 b, for GNU/Linux 3.2.0, stripped 64-linux- gnu/libpthread- 2.30.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), BuildID[ sha1]=7c74e0d0e faacdcf08ab6c3c 171534c89d9f637 d, for GNU/Linux 3.2.0, not stripped 64-linux- gnu/libnss_ hesiod- 2.30.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[ sha1]=38f57f4d2 d8e56540901c6fe 6b989d07af9756d 7, for GNU/Linux 3.2.0, stripped 64-linux- gnu/libnss_ dns-2.30. so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[ sha1]=8f23a6e00 ef8cfcbfe09270b 19fc118c5e124fd 0, for GNU/Linux 3.2.0, stripped 64-linux- gnu/libthread_ db-1.0. so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[ sha1]=0f96c3f70 a8a92c99c035592 a8c499daddebff8 e, for GNU/Linux 3.2.0, stripped 64-linux- gnu/libnss_ nis-2.30. so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[ sha1]=199d51b3c ea58e6d8555a464 cb6c42de9e8ae1d a, for GNU/Linux 3.2.0, stripped 64-linux- gnu/libdl- 2.30.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[ sha1]=570a2ae18 adb1b696a7097f9 fc3049c5d56c4f7 3, for GNU/Linux 3.2.0, stripped 64-linux- gnu/libnss_ compat- 2.30.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[ sha1]=fcbe255db 86c7acbef90fcdd e675a67d80adf43 2, for GNU/Linux 3.2.0, stripped
http://
```
$ find lib/x86_
lib/x86_
lib/x86_
lib/x86_
lib/x86_
lib/x86_
lib/x86_
lib/x86_
lib/x86_
lib/x86_
lib/x86_
lib/x86_
lib/x86_
lib/x86_
lib/x86_
lib/x86_
lib/x86_
lib/x86_
lib/x86_
lib/x86_
lib/x86_
lib/x86_
lib/x86_
```
Let's hope this won't change in Ubuntu 20.04 LTS.
> Is there something we can improve on the snapd side? /github. com/flatpak/ flatpak/ issues/ 2551#issue- 397366787
When we hit a similar problem last year in flatpak, I proposed to add an option to determine kernel requirements.
https:/
The flatpak creator pointed out that we should check rather for symbols/features, because some kernels may be highly modified, as it is in EL. /github. com/flatpak/ flatpak/ issues/ 2551#issuecomme nt-456002791
https:/
> Kernel requirements are tricky things. Generally the dependency is not on a specific version but on some feature/behaviour, and those are often backported to enterprise kernel without bumping the kernel version.
You can also perform some additional verification for runtimes and apps, to make sure that they won't require Linux > 3.2. Maybe CI that runs apps (and runtimes) on old kernels would help us to prevent problems like this in the future. This was originally proposed by Matthias Clasen from Fedora Silverblue.
Anyway, without additional checks, we can hit this problem again in the future (e.g. core20, core22, core24, etc).