Launchpad builds failing with "cannot install snap base "core20""

Since two days ago, most of nextcloud’s launchpad builds are failing; the only one that built correctly was the i386 one.

The errors for the others look like this:

...
Processing triggers for libc-bin (2.27-3ubuntu1.6) ...
Running '['linux64', 'snap', 'install', '--classic', '--channel=7.x/stable', 'snapcraft']'. Attempt 1
error: cannot perform the following tasks:
- Ensure prerequisites for "snapcraft" are available (cannot install snap base "core20": snap "core20" assumes unsupported features: snapd2.61 (try to refresh snapd))
Running '['linux64', 'snap', 'install', '--classic', '--channel=7.x/stable', 'snapcraft']'. Attempt 2
error: cannot perform the following tasks:
- Ensure prerequisites for "snapcraft" are available (cannot install snap base "core20": snap "core20" assumes unsupported features: snapd2.61 (try to refresh snapd))
Running '['linux64', 'snap', 'install', '--classic', '--channel=7.x/stable', 'snapcraft']'. Attempt 3
error: cannot perform the following tasks:
- Ensure prerequisites for "snapcraft" are available (cannot install snap base "core20": snap "core20" assumes unsupported features: snapd2.61 (try to refresh snapd))
Install failed
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/lpbuildd/target/build_snap.py", line 295, in run
    self.install()
  File "/usr/lib/python3/dist-packages/lpbuildd/target/build_snap.py", line 161, in install
    self.backend.run(
  File "/usr/lib/python3/dist-packages/lpbuildd/target/lxd.py", line 776, in run
    raise e
  File "/usr/lib/python3/dist-packages/lpbuildd/target/lxd.py", line 770, in run
    return self._run_command(
           ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/lpbuildd/target/lxd.py", line 699, in _run_command
    subprocess.check_call(cmd, **kwargs)
  File "/usr/lib/python3.12/subprocess.py", line 413, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['lxc', 'exec', 'lp-bionic-amd64', '--', 'linux64', 'snap', 'install', '--classic', '--channel=7.x/stable', 'snapcraft']' returned non-zero exit status 1.
Revoking proxy token...

What’s going on?

Thanks!

This is stopping us from releasing stable versions for nextcloud. Can somebody offer some help?

Thanks!

Hello,

This seems to be a problem in the launchpad builders, looks like they need a newer snapd in order to install latest core20. I requested assistance to the launchpad devs. Will keep you posted on any progress.

Regards

1 Like

Hello,

A brief update, sadly we don’t have a solution yet. This is caused by core20 requiring a newer snapd, but there is no such snapd for the the builders as they are running on bionic yet. The release can be workaround by building the snap locally and uploading it to the store, we will continue investigating how to get a proper fix deployed on the builder.

Regards

1 Like

Thanks for the update!

Out of curiosity: do yo have any idea why this is working for i386 then?

In my tests on an Ubuntu 18.04 container, I solved it by doing a sudo snap install snapd before installing the snapcraft snap, but I don’t know if that would be a proper solution for the builders.

OK, found a workaround: configuring latest/stable as the channel for the snapd snap here:

Everything works as intended.

1 Like

@pachulo where is that “Source snap channel for automatic builds” configuration? I’ve been hunting on the snapcraft web UI for a while and I cannot find it, I must be blind.

@verterok is this workaround still required? I just checked my app (trippy) following the release of 0.13.0 and can see it has been failing for all builds except x86_64 since 21st Feb.

Well, launchpad UI is not…the most intuitive. When you edit a snap, you can find it on the “Automatically build when branch changes” section:

Thanks @pachulo.

I’m starting to think maybe my setup is different and this isn’t just a UX thing?

To be clear; my snap is built by snapcraft from a linked github account with snapcraft.yaml file and so i’ve been looking at the snapcraft UI (i.e. https://snapcraft.io/trippy) and I don’t see any way to edit this setting there (I can only edit the “listing” page).

From the failed build logs I do see a link to launchpad, such as https://launchpad.net/~build.snapcraft.io/+snap/39655faa68ac44b64b02e1cea08c1c63/+build/2795810 which links to 39655faa68ac44b64b02e1cea08c1c63 : Snap packages : build.snapcraft.io automatic builds but I don’t see any facility to edit anything on there.

How does that compare to your setup? Perhaps this is something I should be changing in the snapcraft.yaml file instead?

Aside: launchpad does have entries for both the Trippy PPA that I maintain and also the upstream Debian package, but I don’t think either of those are relevant here?

To add, I see my snapcraft.yaml has base: core18, maybe that is out of date now?

After bumping to core20 it now fails with a different error, progress I guess!

Failed to generate snap metadata: The specified command 'bin/trip' defined in the app 'trippy' does not exist.
Ensure that 'bin/trip' is installed with the correct path.

I’m assuming the bump to core20 requires other changes in my snapcraft.yaml, i’ll look into that.

After some snapcraft.yaml tweaking this is now resolved.

1 Like