Classic snaps do not work on Fedora

Bug #1736939 reported by Alan Pope 🍺🐧🐱 🦄
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
snapd
Won't Fix
Undecided
Unassigned
snapcraft (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

This bug is to track the issue previously discussed on the forum at https://forum.snapcraft.io/t/classic-snaps-not-working-on-fedora-27-and-others/2636 dating back to Oct 27th 2017.

"Back in April in the Call for testing: snapd 2.23 (https://forum.snapcraft.io/t/call-for-testing-snapd-2-23-on-fedora/127) on Fedora thread, @morphis mentioned that “classic snaps: Snaps using classic confinement are not working yet.”. Is there a plan for when this will work? I just tested a couple of snaps on Fedora 27 here and got execv failed: No such file or directory. We have a few high profile applications in the store which are classic and would be great to have working cross-distro."

In addition to Fedora, classic snaps do not work on Arch Linux (including Antergos and Manjaro)

Evan (ev)
description: updated
Revision history for this message
Michael Vogt (mvo) wrote :

We recently improved the situation. The problem is that classic snaps do not work on distros that do not use the /snap directory. The current snapd (definitely in edge but I think at least candidate as well) will detect this and show instructions what to do:
"""
fmt.Errorf(i18n.G("classic confinement requires snaps under /snap or symlink from /snap to %s"), dirs.SnapMountDir)
"""
Or is there a different classic issue?

Changed in snapd:
status: New → Incomplete
Revision history for this message
Alan Pope 🍺🐧🐱 🦄 (popey) wrote :

On my fedora system I have /snap symlinked to /var/lib/snapd/snap

When I run a classic snap (such as teleconsole) it says "execv failed: No such file or directory".

These are the instructions we use to install snapd and setup the /snap folder.

https://docs.snapcraft.io/core/install-fedora

Revision history for this message
Maciej Borzecki (maciek-borzecki) wrote :

The problem on Fedora needs further investigation. Given how classic snaps are packages, this may easily be a problem with the snap itself.

FWIW. teleconsole 0.3.1 (3) seems to work just fine on Arch.

Revision history for this message
Zygmunt Krynicki (zyga) wrote :

Maciej just committed a fix for classic confinement on Fedora and similar systems. https://github.com/snapcore/snapd/pull/4432

Revision history for this message
Maciej Borzecki (maciek-borzecki) wrote :

Opened a PR https://github.com/snapcore/snapd/pull/4432 that should address the problem on Fedora and other distributions where snapd libexedir is different from /usr/lib/snapd.

Michael Vogt (mvo)
Changed in snapd:
status: Incomplete → In Progress
Revision history for this message
Martin Wimpress  (flexiondotorg) wrote :

We've tested classic snaps on Ubuntu 14.04, Ubuntu 16.04, Ubuntu 17.10, Ubuntu 18.04 (daily), Debian 9, Solus, elementary, OpenSUSE, Arch Linux, KDE Neon, Atergos, Linux Mint, Manjaro and Fedora 27.

All worked with our selection of classic snaps with the exception of Fedora, where classic snaps do not work.

summary: - Classic snaps do not work on some Linux distros
+ Classic snaps do not work on Fedora
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in snapcraft (Ubuntu):
status: New → Confirmed
Revision history for this message
Alan Pope 🍺🐧🐱 🦄 (popey) wrote :

What's the plan for this fix landing? I'm keen to be able to test this on Fedora 27.

Revision history for this message
Maciej Borzecki (maciek-borzecki) wrote :

Neal has pushed an update to 2.30. From what Zyga reported, things looked very good.

Can fetch the packages from here and verify on your machine? https://bodhi.fedoraproject.org/updates/?packages=snapd

Revision history for this message
Alan Pope 🍺🐧🐱 🦄 (popey) wrote :

This appears to now be fixed! Thanks

Revision history for this message
Omer Akram (om26er) wrote :

I just installed Fedora 28 and installed snapd and now if I try to install a classic snap I see that error.

Revision history for this message
Omer Akram (om26er) wrote :

error: cannot install "sublime-text": "classic confinement requires snaps under /snap or symlink from /snap to /var/lib/snapd/snap"

Revision history for this message
Maciej Borzecki (maciek-borzecki) wrote :

Fedora policy disallows us from adding /snap automatically. Please create the symlink manually.

OTOH we might consider making the error message more intuitive and suggest that the user take action if so desired.

Revision history for this message
Zygmunt Krynicki (zyga) wrote :

I am marking the snapd task as WONTFIX as we cannot adjust snapd without breaking the format and existing classic snaps. The workaround with the symbolic link is now well-documented but cannot be shipped in the Fedora package for policy reasons. I don't believe there is anything more we can do.

Changed in snapd:
status: In Progress → Won't Fix
Revision history for this message
Sergio Schvezov (sergiusens) wrote :

This is not a snapcraft bug, but a runtime one

Changed in snapcraft (Ubuntu):
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.