Edge-home-orchestration-go: Ocorreu um erro de construção na arquitetura arm

Criado em 28 out. 2020  ·  10Comentários  ·  Fonte: lf-edge/edge-home-orchestration-go

Descreva o bug
Durante $./build.sh container arm ou $./build.sh container arm64 , recebi o seguinte erro de compilação.

**********************************
 Create Docker container
**********************************

Error: No such container: edge-orchestration
Error: No such image: edge-orchestration:baobab
docker build --tag edge-orchestration:baobab --file /home/t25kim/work/edge-home-orchestration-go/GoMain/Dockerfile --build-arg PLATFORM=arm32v7 .
Sending build context to Docker daemon  301.4MB
Step 1/17 : ARG PLATFORM
Step 2/17 : FROM $PLATFORM/ubuntu:16.04
 ---> 8eedc387cb89
Step 3/17 : ENV TARGET_DIR=/edge-orchestration
 ---> Using cache
 ---> 5f0a61e388ca
Step 4/17 : ENV HTTP_PORT=56001
 ---> Using cache
 ---> b067bb7683b3
Step 5/17 : ENV MDNS_PORT=5353
 ---> Using cache
 ---> 075a5c1d1c28
Step 6/17 : ENV MNEDC_PORT=8000
 ---> Using cache
 ---> c2bc2afb2a0a
Step 7/17 : ENV MNEDC_BROADCAST_PORT=3333
 ---> Using cache
 ---> 5730d8bb2687
Step 8/17 : ENV ZEROCONF_PORT=42425
 ---> Using cache
 ---> b6b101e9d328
Step 9/17 : ENV APP_MAIN_DIR=GoMain
 ---> Using cache
 ---> b6d791035071
Step 10/17 : ENV APP_BIN_DIR=$APP_MAIN_DIR/bin
 ---> Using cache
 ---> e178739df475
Step 11/17 : ENV APP_NAME=edge-orchestration
 ---> Using cache
 ---> e75f9b70dc2c
Step 12/17 : RUN apt update
 ---> Running in 244a90de8ea7
standard_init_linux.go:211: exec user process caused "exec format error"
The command '/bin/sh -c apt update' returned a non-zero code: 1
Makefile:94: recipe for target 'build-container' failed
make: *** [build-container] Error 1

Reproduzir
Passos para reproduzir o comportamento:
$./build.sh container arm ou $./build.sh container arm64

bug

Comentários muito úteis

@MoonkiHong Eu reproduzi este problema e como escrevi anteriormente (e criei um commit) seria correto para cada plataforma criar seu próprio Dockerfile (Isso resolverá o problema atual).
PS Sem criar uma configuração separada para cada plataforma de hardware, complicaremos muito nossa máquina de construção.

Todos 10 comentários

No final das contas, isso está relacionado à política geral de suporte à extensão da plataforma, que criei como https://github.com/lf-edge/edge-home-orchestration-go/issues/127. @tdrozdovsky Algum pensamento sobre isso?

@MoonkiHong Eu reproduzi este problema e como escrevi anteriormente (e criei um commit) seria correto para cada plataforma criar seu próprio Dockerfile (Isso resolverá o problema atual).
PS Sem criar uma configuração separada para cada plataforma de hardware, complicaremos muito nossa máquina de construção.

@MoonkiHong Eu reproduzi este problema e como escrevi anteriormente (e criei um commit) seria correto para cada plataforma criar seu próprio Dockerfile (Isso resolverá o problema atual).
PS Sem criar uma configuração separada para cada plataforma de hardware, complicaremos muito nossa máquina de construção.

@tdrozdovsky Faz sentido. Que tal considerar o design da resolução após o lançamento de Coconut de vocês?

@MoonkiHong Eu posso consertar esse problema hoje. Quando você lança o coco?
Claro, um novo sistema de construção pode ser proposto mais tarde (esta tarefa leva mais tempo)

@tdrozdovsky Coconut será lançado no final de outubro deste mês. Vamos começar a resolver esse problema a partir de novembro. Obrigada.

@MoonkiHong Vou tentar fazer isso hoje para que o lançamento do Coconut não tenha esse problema. E também hoje eliminarei mais uma imprecisão com a documentação, que surgiu com os últimos commits. Serão commits diferentes

@MoonkiHong Vou tentar fazer isso hoje para que o lançamento do Coconut não tenha esse problema. E também hoje eliminarei mais uma imprecisão com a documentação, que surgiu com os últimos commits. Serão commits diferentes

@tdrozdovsky Agradeço muito sua contribuição apaixonada!

@tdrozdovsky Apenas para o verificador, podemos construir com sucesso o pacote para arm sem qualquer modificação de código sem a orientação adequada de
https://www.stereolabs.com/docs/docker/building-arm-container-on-x86/ , que significa aplicar uma revisão do ambiente de construção. Que tal guiar este script adequadamente no documento em questão então? (em vez de um design de sistema de construção separado)

@tdrozdovsky Apenas para o verificador, podemos construir com sucesso o pacote para arm sem qualquer modificação de código sem a orientação adequada de
https://www.stereolabs.com/docs/docker/building-arm-container-on-x86/ , que significa aplicar uma revisão do ambiente de construção. Que tal guiar este script adequadamente no documento em questão então? (em vez de um design de sistema de construção separado)

@ t25kim Obrigado por sua outra ótima sugestão e avaliação para esta edição! (incluindo a validação de autoconstrução com a orientação também)

@MoonkiHong Eu preparei mudanças para corrigir esse problema, mas ainda preciso testar. Quando tudo estiver pronto, vou criar um PR.

Esta página foi útil?
0 / 5 - 0 avaliações