Je développe une application Ubuntu Core sur un système x86 pour une cible de type bras avec snapcraft.
Le snapcraft.yaml
contient architectures: [armhf]
et snapcraft a généré un fichier .armhf.snap
. Cela semble être OK.
Mais si une partie contient une dépendance Ubuntu utilisant stage-packages
, la capture résultante ne contient que des bibliothèques x86_64.
Comment peut-il résoudre ce problème?
Malheureusement, Snapcraft ne supporte pas encore la construction croisée. Pour créer un accrochage pour x86, celui-ci doit être exécuté sur un hôte x86. pour le bras, un bras Host.
En effet, comme mentionné par didrocks, vous pouvez exécuter Snapcraft directement sur le périphérique Snappy en utilisant Classic Dimension sur Ubuntu Core 16.04.
Vous pouvez également installer l'application Docker et importer à partir d'une image Ubuntu à partir du hub Docker. Vous disposerez alors de l'environnement pour la compilation native.
Notez également que Snappy Ubuntu Core 16.04 (toujours en développement) a une dimension classique qui vous permet de construire directement sur le périphérique, pour que vous n'ayez plus de problèmes croisés.