snapcraft crosscompile

3

Eu estou em uma máquina x86_64-linux-gnu e tentando construir um snap a partir do código-fonte para arm-linux-gnueabihf (Raspberry Pi3) usando autotools.

Consigo criar o snap, mas depois de fazer o upload para a loja, ele sempre diz que a arquitetura suportada é:

  

Arquiteturas suportadas amd64

Meu snapcraft.yaml tem esta aparência:

name: hellocsnap
version: '1.17'
summary:  Hello World snap written in C 
description: This snap says hello and adds 2 numbers.
grade: stable
confinement: strict
apps:
  hello:
    command: hellocsnap
parts:
  test-hellocsnap:
   plugin: autotools
   configflags: 
       - --build=x86_64-linux-gnu
       - --host=arm-linux-gnueabihf
source: source/

Ao executar snapcraft , recebo o seguinte erro:

Priming test-hellocsnap 

Unable to determine library dependencies for b' /home/..../prime/bin/hellocsnap'

Alguém sabe como fazer um snap da fonte em um amd64 para Raspberry Pi?

    
por V Bota 05.02.2017 / 10:45

1 resposta

2

Tenho certeza de que li em algum lugar que o snapcraft ainda não oferece a opção de crosscompile code para arquiteturas diferentes.

Eu queria fazer a mesma coisa, mas não consegui descobrir como usar o autotools para fazer isso. Em vez disso, usei o eclipse para construir meu projeto e o configurei para construir o armhf. Posteriormente, coloquei executável e tudo o que é necessário para que meu aplicativo trabalhe em uma pasta e use plugin: dump em vez de plugin: autotools . Você precisará adicionar architectures: [armhf] se estiver planejando adicioná-lo à loja do Ubuntu. Eu recebi a mesma mensagem como você fez, mas eu já testei o código sem o snap e eu sabia que eu empacotava tudo que eu precisava, então eu simplesmente o ignorava.

Alternativamente, você pode dar uma olhada no Launchpad , que pode ajudá-lo a criá-lo para uma variedade de ambientes.

    
por Jasko 03.03.2017 / 19:59