Building snap package (based on gtk4) for different archs

Hello, trying to build snap package (which uses ‘gnome’ extension and base core22) for all available archs resulted in:

Failed to install or refresh snap 'gnome-42-2204'.
'gnome-42-2204' does not exist or is not available on channel 'latest/stable'.

on s390x and ppc64el, and successfully built on armhf, arm64, amd64

on web interface it looks like

ID	ARCHITECTURE	BUILD DURATION	RESULT	BUILD FINISHED
#2349590	armhf	7 minutes	Released	41 minutes ago
#2349589	arm64	6 minutes	Released	42 minutes ago
#2349588	amd64	4 minutes	Released	44 minutes ago
#2349592	s390x	3 minutes	Failed to build	about 1 hour ago
#2349591	ppc64el	3 minutes	Failed to build	about 1 hour ago

and from the same source package it is successfully built on Launchpad in .deb packages for all archs including the above for the whole Ubuntu line with Gtk4 (jammy lunar mantic noble)

Is there some snap arch specific that needs to take into account?

You can limit which architectures your snap builds on/for by specifying them in your snapcraft.yaml:

architectures:
  - build-on: amd64
  - build-on: arm64
  - build-on: armhf

You likely need to do this because the gnome-42-2204 on which you depend (via the gnome extension) is only built for the above architectures. This is likely because of perceived lack of demand running GNOME applications on s390x or ppc64el based hardware.

2 Likes