我正在努力获取使用 Docker 编译的 repo。我还没有对源代码进行任何更改,只是试图构建主版本。但我正在努力根据存储库中的说明进行构建:NickelMenu
根据说明,源代码需要使用 docker 进行编译:
docker run --volume="$PWD:$PWD" --user="$(id --user):$(id --group)" --workdir="$PWD" --env=HOME --entrypoint=make --rm -it ghcr.io/pgaskin/nickeltc:1.0 all koboroot
首先,我收到一个警告(和错误),提示:警告:请求的图像平台(linux / amd64)与检测到的主机平台(linux / arm64 / v8)不匹配,并且没有请求特定平台 exec /usr/bin/make:exec 格式错误
因此,我四处搜索,发现如果主机上有不同的平台架构,则需要指定平台。我试图在 raspi (linux/arm64/v8 ?) 上运行它,但主机是 linux/amd64 的图像ghcr.io/pgaskin/nickeltc:1.0
。因此,我尝试过:
sudo DOCKER_DEFAULT_PLATFORM="linux/amd64" docker run --volume="$PWD:$PWD" --user="$(id --user):$(id --group)" --workdir="$PWD" --env=HOME --entrypoint=make --rm -it ghcr.io/pgaskin/nickeltc:1.0 all koboroot
警告现已删除,但我仍然收到错误:exec /usr/bin/make:exec 格式错误
如果有人能给我一些指导,我将不胜感激,因为我没有主意了。我使用的是 Docker 版本 27.5.1,内部版本 9f9e405
谢谢你!
问题在于您的硬件(运行 Docker 的地方)基于 ARM,而您使用的 Docker 映像基于 AMD64(又名“Intel”,又名“x86_64”)。
您必须构建自己的图像,这将在此处得到解释,但还请注意“此跨工具链仅在 x86_64 上进行了测试”。