Como construir aplicações cruzadas para o núcleo do Ubuntu com snapcraft

3

Eu desenvolvo um aplicativo do Ubuntu Core em um sistema x86 para um alvo de braço com snapcraft.

O snapcraft.yaml contém architectures: [armhf] e o snapcraft gerou um arquivo .armhf.snap . Isso parece estar bem.

Mas se uma parte contiver uma dependência do Ubuntu usando stage-packages , o snap resultante conterá apenas libras x86_64.

Como isso pode resolver isso?

    
por abbgrade 27.02.2016 / 10:52

3 respostas

5

Infelizmente, o Snapcraft ainda não suporta cross-building. Para construir um snap para x86, ele precisa ser executado em um host x86; para braço, um host de braço.

De fato, como mencionado por didrocks, você pode executar o Snapcraft diretamente no dispositivo Snappy usando o Classic Dimension no Ubuntu Core 16.04.

    
por Kyle 27.02.2016 / 14:10
0

Note também que o Snappy Ubuntu Core 16.04 (ainda em desenvolvimento) tem uma dimensão clássica que permite que você construa diretamente no dispositivo, assim você não terá mais problemas de arco cruzado com isso.

    
por didrocks 29.02.2016 / 08:11
0

Você também pode instalar o aplicativo docker e importar da imagem do Ubuntu a partir do hub do docker e, em seguida, terá o ambiente para a compilação nativa.

    
por Aiken Qi 24.03.2016 / 11:11