web-dev-qa-db-fra.com

Comment croiser des applications pour le noyau ubuntu avec snapcraft

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?

3
abbgrade

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.

6
Kyle

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.

0
Aiken Qi

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.

0
didrocks