How to Crossbuild Apps for Ubuntu Core with Snapcraft

armsnapubuntu-core

I develop an Ubuntu Core app on a x86 system for an arm target with snapcraft.

The snapcraft.yaml contains architectures: [armhf] and snapcraft generated a .armhf.snap file. That seems to be OK.

But if a part contains an Ubuntu dependency using stage-packages, the resulting snap contains only x86_64 libs.

How can it fix this?

Best Answer

Unfortunately Snapcraft doesn't yet support cross-building. In order to build a snap for x86 it needs to be run on an x86 host; for arm, an arm host.

Indeed, as mentioned by didrocks, you can run Snapcraft directly on the Snappy device by using the Classic Dimension on Ubuntu Core 16.04.