Edge-home-orchestration-go: Se produjo un error de compilación en la arquitectura del brazo

Creado en 28 oct. 2020  ·  10Comentarios  ·  Fuente: lf-edge/edge-home-orchestration-go

Describe el error
Durante $./build.sh container arm o $./build.sh container arm64 , recibí el siguiente error de compilación.

**********************************
 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

Reproducir
Pasos para reproducir el comportamiento:
$./build.sh container arm o $./build.sh container arm64

bug

Comentario más útil

@MoonkiHong Reproduje este problema y, como escribí anteriormente (y creé una confirmación), sería correcto que cada plataforma creara su propio Dockerfile (Esto resolverá el problema actual).
PD Sin crear una configuración separada para cada plataforma de hardware, complicaremos enormemente nuestra máquina de compilación.

Todos 10 comentarios

Al final, esto está relacionado con la política general para admitir la extensión de la plataforma, que mencioné como https://github.com/lf-edge/edge-home-orchestration-go/issues/127. @tdrozdovsky ¿ Alguna idea sobre esto?

@MoonkiHong Reproduje este problema y, como escribí anteriormente (y creé una confirmación), sería correcto que cada plataforma creara su propio Dockerfile (Esto resolverá el problema actual).
PD Sin crear una configuración separada para cada plataforma de hardware, complicaremos enormemente nuestra máquina de compilación.

@MoonkiHong Reproduje este problema y, como escribí anteriormente (y creé una confirmación), sería correcto que cada plataforma creara su propio Dockerfile (Esto resolverá el problema actual).
PD Sin crear una configuración separada para cada plataforma de hardware, complicaremos enormemente nuestra máquina de compilación.

@tdrozdovsky Tiene sentido. ¿Qué hay de considerar el diseño de la resolución después de la publicación Coconut de la suya?

@MoonkiHong Puedo solucionar este problema hoy. ¿Cuándo has lanzado Coconut?
Por supuesto, se puede proponer un nuevo sistema de construcción más adelante (esta tarea lleva más tiempo)

@tdrozdovsky Coconut lanzamiento es para fines de octubre, este mes. Comencemos a resolver este problema a partir de noviembre. Gracias.

@MoonkiHong Intentaré hacer esto hoy para que el lanzamiento de Coconut no tenga este problema. Y también hoy eliminaré una inexactitud más con la documentación, que surgió con los últimos commits. Estos serán diferentes confirmaciones

@MoonkiHong Intentaré hacer esto hoy para que el lanzamiento de Coconut no tenga este problema. Y también hoy eliminaré una inexactitud más con la documentación, que surgió con los últimos commits. Estos serán diferentes confirmaciones

@tdrozdovsky ¡ Realmente aprecio su apasionada contribución!

@tdrozdovsky Solo para el corrector, podemos construir con éxito el paquete por arm sin ninguna modificación de código con la guía adecuada de
https://www.stereolabs.com/docs/docker/building-arm-container-on-x86/ , lo que significa aplicar una revisión del entorno de compilación. Entonces, ¿qué hay de guiar este script correctamente en el documento correspondiente? (en lugar de un diseño de sistema de construcción separado)

@tdrozdovsky Solo para el corrector, podemos construir con éxito el paquete por arm sin ninguna modificación de código con la guía adecuada de
https://www.stereolabs.com/docs/docker/building-arm-container-on-x86/ , lo que significa aplicar una revisión del entorno de compilación. Entonces, ¿qué hay de guiar este script correctamente en el documento correspondiente? (en lugar de un diseño de sistema de construcción separado)

@ t25kim ¡ Gracias por su otra gran sugerencia y evaluación para este tema! (incluida la validación de autoconstrucción con la guía también)

@MoonkiHong He preparado cambios para solucionar este problema, pero aún necesito probar. Cuando todo esté listo, crearé un PR.

¿Fue útil esta página
0 / 5 - 0 calificaciones