Edge-home-orchestration-go: Build-Fehler in der Armarchitektur aufgetreten

Erstellt am 28. Okt. 2020  ·  10Kommentare  ·  Quelle: lf-edge/edge-home-orchestration-go

Beschreibe den Fehler
Während $./build.sh container arm oder $./build.sh container arm64 ich den folgenden Build-Fehler erhalten.

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

Fortpflanzen
Schritte zum Reproduzieren des Verhaltens:
$./build.sh container arm oder $./build.sh container arm64

bug

Hilfreichster Kommentar

@MoonkiHong Ich habe dieses Problem reproduziert und wie ich bereits schrieb (und einen Commit erstellt habe), wäre es für jede Plattform richtig, ihre eigenen Dockerfile zu erstellen (Dies wird das aktuelle Problem lösen).
PS Ohne eine separate Konfiguration für jede Hardwareplattform zu erstellen, werden wir unsere Build-Maschine stark komplizieren.

Alle 10 Kommentare

Letztendlich hängt dies mit der allgemeinen Richtlinie zur Unterstützung der Plattformerweiterung zusammen, die ich als https://github.com/lf-edge/edge-home-orchestration-go/issues/127 erstellt habe. @tdrozdovsky Haben Sie darüber nachgedacht?

@MoonkiHong Ich habe dieses Problem reproduziert und wie ich bereits schrieb (und einen Commit erstellt habe), wäre es für jede Plattform richtig, ihre eigenen Dockerfile zu erstellen (Dies wird das aktuelle Problem lösen).
PS Ohne eine separate Konfiguration für jede Hardwareplattform zu erstellen, werden wir unsere Build-Maschine stark komplizieren.

@MoonkiHong Ich habe dieses Problem reproduziert und wie ich bereits schrieb (und einen Commit erstellt habe), wäre es für jede Plattform richtig, ihre eigenen Dockerfile zu erstellen (Dies wird das aktuelle Problem lösen).
PS Ohne eine separate Konfiguration für jede Hardwareplattform zu erstellen, werden wir unsere Build-Maschine stark komplizieren.

@tdrozdovsky Macht Sinn. Wie wäre es, wenn Sie das Auflösungsdesign nach der Veröffentlichung von Coconut von Ihrem in Betracht ziehen?

@MoonkiHong Ich kann dieses Problem heute beheben. Wann hast du Coconut veröffentlicht?
Natürlich kann später ein neues Build-System vorgeschlagen werden (diese Aufgabe nimmt mehr Zeit in Anspruch)

@tdrozdovsky Coconut Release ist Ende Oktober dieses Monats. Lassen Sie uns ab November mit der Lösung dieses Problems beginnen. Dankeschön.

@MoonkiHong Ich werde heute versuchen, dies zu tun, damit die Veröffentlichung von Coconut ohne dieses Problem ist. Und auch heute werde ich eine weitere Ungenauigkeit bei der Dokumentation beseitigen, die bei den letzten Commits aufgetreten ist. Das werden unterschiedliche Commits sein

@MoonkiHong Ich werde heute versuchen, dies zu tun, damit die Veröffentlichung von Coconut ohne dieses Problem ist. Und auch heute werde ich eine weitere Ungenauigkeit bei der Dokumentation beseitigen, die bei den letzten Commits aufgetreten ist. Das werden unterschiedliche Commits sein

@tdrozdovsky Ich weiß Ihren leidenschaftlichen Beitrag wirklich zu schätzen!

@tdrozdovsky Nur zur Kontrolle, wir können das Paket für arm erfolgreich erstellen, ohne Code-Änderung mit der richtigen Anleitung von
https://www.stereolabs.com/docs/docker/building-arm-container-on-x86/ , was bedeutet, dass eine Überarbeitung der Build-Umgebung angewendet wird. Wie wäre es dann, dieses Skript im entsprechenden Dokument richtig zu führen? (statt eines separaten Build-System-Designs)

@tdrozdovsky Nur zur Kontrolle, wir können das Paket für arm erfolgreich erstellen, ohne Code-Änderung mit der richtigen Anleitung von
https://www.stereolabs.com/docs/docker/building-arm-container-on-x86/ , was bedeutet, dass eine Überarbeitung der Build-Umgebung angewendet wird. Wie wäre es dann, dieses Skript im entsprechenden Dokument richtig zu führen? (statt eines separaten Build-System-Designs)

@t25kim Vielen Dank für Ihren weiteren tollen Vorschlag und Ihre Bewertung zu diesem Thema! (einschließlich der Selbstbau-Validierung bezüglich der Anleitung)

@MoonkiHong Ich habe Änderungen vorbereitet, um dieses Problem zu beheben, muss aber noch testen. Wenn alles fertig ist, erstelle ich eine PR.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen