Builds fail on snapcraft.io since a few days (all except i386)

All but the i386 builds for my Snap freac fail since ca. 6 days ago with what looks like an internal snapcraft error.

It appears to fail at building the libcdio-paranoia module:

Building libcdio-paranoia 
+ snapcraftctl build

expected string or bytes-like object
Sorry, an error occurred in Snapcraft:
Traceback (most recent call last):
  File "/snap/snapcraft/7010/bin/snapcraft", line 8, in <module>
    sys.exit(run())

I haven’t made any changes in that area recently and as the i386 build is working fine, this looks like a snapcraft issue to me.

Can anyone have a look?

Where is the source of this snap and how are you building?

The source is at https://github.com/enzo1982/freac

The repository is linked to the snap on snapcraft.io, so it builds automatically on each commit.

I didn’t try local builds on my own system recently, but tried now (by simply cloning the repo and running snapcraft inside it without any arguments) and was able to reproduce the issue.

Digging deeper I found that the issue is caused by using the https://github.com/rocky/libcdio-paranoia/archive/refs/tags/release-10.2+2.0.1.tar.gz archive. Changing that to https://ftp.gnu.org/gnu/libcdio/libcdio-paranoia-10.2+2.0.1.tar.bz2 fixes that build step, but it then fails at building libfaad, which also uses a GitHub source archive.

So it looks like something broke support for GitHub source archives in snapcraft recently. I can work around this by using git and referencing the tag/commit instead, but this still should be investigated and fixed in snapcraft.

Hm, using a git tag instead of the archive causes the same failure. So it’s not something about GitHub source archives. Maybe something related to autoconf? I don’t think I can debug this any further as snapcraft is not printing any information useful to me.

Yes, it’s related to autoconf. I found a working work-around:

override-build: |
  autoreconf -i
  snapcraftctl build

This is

1 Like