Bug 1803954 - Snap packages of KDE apps don't work on RHEL 7
Summary: Snap packages of KDE apps don't work on RHEL 7
Keywords:
Status: NEW
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: snapd
Version: epel7
Hardware: x86_64
OS: Linux
unspecified
urgent
Target Milestone: ---
Assignee: Zygmunt Krynicki
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-02-17 19:30 UTC by Tomasz Tomasik
Modified: 2020-02-17 20:58 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: ---
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
KDE Software Compilation 417791 0 NOR UNCONFIRMED Snap packages of KDE apps don't work on RHEL 7 2020-09-11 00:13:24 UTC

Description Tomasz Tomasik 2020-02-17 19:30:17 UTC
Snap packages of KDE apps don't work on RHEL 7


SUMMARY

The snap package of cantor doesn't work at all on RHEL 7.7.
CentOS 7 is affected. Fedora 30 is not affected.
I believe that this issue may be related to snapd rather than the cantor package itself, because it applies to kolourpaint and okular as well.
Since EPEL7 provides exactly the same version of snapd as Fedora does, this bug may be related to one of the snapd deps, e.g. squashfuse or squashfs.ko.
https://src.fedoraproject.org/rpms/snapd/blob/ebb6864d0a079930cfd014948ac7dbfc0b1eba2d/f/snapd.spec#_105-113


STEPS TO REPRODUCE

1. Install the latest version of snapd from the EPEL7 testing repo (tried the latest stable version of snapd from EPEL7 as well): yum --disableplugin='priorities' --enablerepo='epel*' install snap-confine snapd snapd-selinux
2. Enable snapd service: sudo systemctl enable snapd.service
3. Start snapd service: sudo systemctl start snapd.service
4. Create a symlink: sudo ln -s "/var/lib/snapd/snap" "/snap"
5. Install Snap Store: sudo snap install snap-store
6. Install cantor (any version: stable 19.08.0, candidate 19.08.3, beta 17.04.3, edge master+97ffb4e) on RHEL 7.7 via Snap Store or just type: sudo snap install cantor
7. Run "cantor" or "/var/lib/snapd/snap/bin/cantor"


OBSERVED RESULT

$ cantor 
cantor: error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory

$ /var/lib/snapd/snap/bin/cantor
cantor: error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory

$ /snap/bin/cantor 
cantor: error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory

$ snap run cantor
cantor: error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory

Please note that the snap package of Qalculate works without any problem. However, other KDE apps (such as KolourPaint or Okular) are affected.


EXPECTED RESULT

Working application.


SOFTWARE/OS VERSIONS

Windows: N/A
macOS: N/A
Linux/KDE Plasma: RHEL 7.7/Linux 3.10.0-1062.9.1.el7.x86_64/snapd: 2.43.3/kde-frameworks-5-core18:kde-frameworks-5-core18-slot
(available in About System)
KDE Plasma Version: N/A
KDE Frameworks Version: N/A
Qt Version: N/A


ADDITIONAL INFORMATION

EL7

$ rpm -q --qf "%{NAME}: %{VERSION}\n" snap-confine snapd snapd-selinux
snap-confine: 2.43.3
snapd: 2.43.3
snapd-selinux: 2.43.3

$ which cantor 
/var/lib/snapd/snap/bin/cantor

$ snap connections cantor
Interface                             Plug                          Slot                                                  Notes
content[kde-frameworks-5-core18-all]  cantor:kde-frameworks-5-plug  kde-frameworks-5-core18:kde-frameworks-5-core18-slot  -
dbus                                  -                             cantor:session-dbus-interface                         -
desktop                               cantor:desktop                :desktop                                              -
desktop-legacy                        cantor:desktop-legacy         :desktop-legacy                                       -
home                                  cantor:home                   :home                                                 -
network                               cantor:network                :network                                              -
network-bind                          cantor:network-bind           :network-bind                                         -
opengl                                cantor:opengl                 :opengl                                               -
pulseaudio                            cantor:pulseaudio             :pulseaudio                                           -
unity7                                cantor:unity7                 :unity7                                               -
x11                                   cantor:x11                    :x11                                                  -

$ find /var/lib/snapd/snap/kde-frameworks-5-core18 -xtype f -iname 'libQt5Core.so.5*' 2>/dev/null
/var/lib/snapd/snap/kde-frameworks-5-core18/30/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
/var/lib/snapd/snap/kde-frameworks-5-core18/30/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.12
/var/lib/snapd/snap/kde-frameworks-5-core18/30/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.12.3
/var/lib/snapd/snap/kde-frameworks-5-core18/32/usr/lib/x86_64-linux-gnu/libQt5Core.so.5
/var/lib/snapd/snap/kde-frameworks-5-core18/32/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.12
/var/lib/snapd/snap/kde-frameworks-5-core18/32/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.12.3

$ snap info cantor
name:      cantor
summary:   KDE Frontend to Mathematical Software
publisher: KDEβœ“
store-url: https://snapcraft.io/cantor
contact:   https://bugs.kde.org/enter_bug.cgi?product=neon&component=Snaps
license:   unset
description: |
  Cantor is a front-end to powerful mathematics and statistics packages. Cantor integrates them into
  the KDE Platform and provides a nice, worksheet-based, graphical user interface. It supports
  environments for KAlgebra, Lua, Maxima, R, Sage, Octave, Python, Scilab, and Qalculate!
commands:
  - cantor
snap-id:      VCjprGsSZiPuV3CmQViE4TvPMKTOlaiL
tracking:     latest/stable
refresh-date: today at 12:37 CET
channels:
  stable:    19.08.0        2019-08-15 (48) 161MB -
  candidate: 19.08.3        2019-11-06 (55) 161MB -
  beta:      17.04.3        2017-08-17  (1)  16MB -
  edge:      master+97ffb4e 2019-07-10 (47) 160MB -
installed:   19.08.0                   (48) 161MB -

$ snap version
snap    2.43.3-1.el7
snapd   2.43.3-1.el7
series  16
rhel    7.7
kernel  3.10.0-1062.9.1.el7.x86_64

$ grep -H '^VERSION' /etc/*release* 2>/dev/null
/etc/os-release:VERSION="7.7 (Maipo)"
/etc/os-release:VERSION_ID="7.7"

See also:
https://bugs.kde.org/show_bug.cgi?id=417791
https://bugs.launchpad.net/snapd/+bug/1863642

Comment 1 Tomasz Tomasik 2020-02-17 20:58:41 UTC
After a deeper analysis, I came to the conclusion that KDE (kde-frameworks-5-core18:kde-frameworks-5-core18-slot) is the problem here. Qt5 (libQt5Core.so.5) was probably built with getentropy, so it requires Linux 3.17, and EL7 uses Linux 3.10 by default. This is why it doesn't work.
Anyway, rebuilding KDE without getentropy should solve this problem.
https://bugs.kde.org/show_bug.cgi?id=417791#c7


Note You need to log in before you can comment on or make changes to this bug.