Native builds aren't supported on Manjaro Linux

I’m trying to create snaps under Manjaro but it fails.
Following the steps at https://snapcraft.io/docs/java-applications gives

$ snapcraft
This snapcraft project does not specify the base keyword, explicitly setting the base keyword enables the latest snapcraft features.
This project is best built on 'Ubuntu 16.04', but is building on a 'Manjaro Linux Unknown Version' host.
Read more about bases at https://docs.snapcraft.io/t/base-snaps/11198
DEPRECATED: The 'build' keyword has been replaced by 'override-build'
See http://snapcraft.io/docs/deprecation-notices/dn8 for more information.
DEPRECATED: The 'install' keyword has been replaced by 'override-build'
See http://snapcraft.io/docs/deprecation-notices/dn9 for more information.
Sorry, an error occurred in Snapcraft:
Native builds aren't supported on Manjaro Linux. You can however use 'snapcraft cleanbuild' with a container.

Using container works, but I prefer a native solution.
@philm Is it possible to get this working in Manjaro without using containers?

The reason for performing builds in VMs or containers is to ensure that the binaries you create are compatible with the base snap it will run against.

For example, if you’ve got a newer glibc on the build host than exists in Ubuntu 16.04 (or Ubuntu 18.04 if you use base: core18), then it is likely that the resulting snap will fail to run.

It is common to use the VM or container build method on Ubuntu build hosts too, since the same library compatibility issues exist if you’re running a version different to the base snap.

1 Like

Ok, I understand. :+1: Now that I got it working with lxd and multipass on Manjaro I’ll have to learn a little more about it in order to get comfortable with it.