Edge-home-orchestration-go: arm架构中发生构建错误

创建于 2020-10-28  ·  10评论  ·  资料来源: lf-edge/edge-home-orchestration-go

描述错误
$./build.sh container arm$./build.sh container arm64 ,我收到以下构建错误。

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

再现
重现行为的步骤:
$./build.sh container arm$./build.sh container arm64

最有用的评论

@MoonkiHong我复制了这个问题,正如我之前写的(并创建了一个提交),每个平台创建自己的Dockerfile (这将解决当前问题)是正确的。
PS 如果不为每个硬件平台创建单独的配置,我们将大大复杂化我们的构建机器。

所有10条评论

最后,这与支持平台扩展的一般政策有关,我提出作为https://github.com/lf-edge/edge-home-orchestration-go/issues/127。 @tdrozdovsky 有没有想过这个?

@MoonkiHong我复制了这个问题,正如我之前写的(并创建了一个提交),每个平台创建自己的Dockerfile (这将解决当前问题)是正确的。
PS 如果不为每个硬件平台创建单独的配置,我们将大大复杂化我们的构建机器。

@MoonkiHong我复制了这个问题,正如我之前写的(并创建了一个提交),每个平台创建自己的Dockerfile (这将解决当前问题)是正确的。
PS 如果不为每个硬件平台创建单独的配置,我们将大大复杂化我们的构建机器。

@tdrozdovsky有道理。 在你的Coconut发布后考虑分辨率的设计怎么样?

@MoonkiHong我今天可以解决这个问题。 你什么时候发布椰子?
当然以后可以提出一个新的构建系统(这个任务需要更多的时间)

@tdrozdovsky Coconut将于本月 10 月底发布。 让我们从 11 月开始解决这个问题。 谢谢你。

@MoonkiHong我今天会尝试这样做,以便 Coconut 版本不会出现此问题。 而且今天我将消除文档中的另一个不准确之处,这些不准确之处是在最后一次提交中出现的。 这些将是不同的提交

@MoonkiHong我今天会尝试这样做,以便 Coconut 版本不会出现此问题。 而且今天我将消除文档中的另一个不准确之处,这些不准确之处是在最后一次提交中出现的。 这些将是不同的提交

@tdrozdovsky非常感谢您的热情贡献!

@tdrozdovsky只是为了检查,我们可以成功地为arm构建包,而无需任何代码修改 wrt 的正确指导
https://www.stereolabs.com/docs/docker/building-arm-container-on-x86/ ,这意味着应用构建环境的修订版。 那么如何在相关文档中正确引导该脚本呢? (而不是单独的构建系统设计)

@tdrozdovsky只是为了检查,我们可以成功地为arm构建包,而无需任何代码修改 wrt 的正确指导
https://www.stereolabs.com/docs/docker/building-arm-container-on-x86/ ,这意味着应用构建环境的修订版。 那么如何在相关文档中正确引导该脚本呢? (而不是单独的构建系统设计)

@t25kim感谢您对这个问题的另一个很好的建议和评价! (包括自构建验证和指南)

@MoonkiHong我已准备好更改来解决此问题,但仍需要进行测试。 一切准备就绪后,我将创建一个 PR。

此页面是否有帮助?
0 / 5 - 0 等级