Arm: standard_init_linux.go:211: 执行用户进程导致“执行格式错误”

# ./discourse-setup
…
正在构建应用
standard_init_linux.go:211: exec user process caused "exec format error"
您的 Docker 安装未正常工作

参见:https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam

我尝试在树莓派上安装 Discourse,使用了两个不同的 Docker 版本:

# docker --version #(来自 Debian Buster)
Docker version 18.09.1, build 4c52b90
# docker --version #(通过 Discourse 安装脚本安装)
Docker version 19.03.12, build 48a6621
# arch
armv7l

如何解决或绕过此问题?

那里的解决方案完全不起作用。

ARM 平台在 libv8 和 mini racer 支持 ARM 之前将无法运行。

2 个赞

真令人难过。也许在安装过程中加入一项检查,可以立即停止安装。至少,在 GitHub - discourse/discourse: A platform for community discussion. Free, open, simple. · GitHubdiscourse/docs/INSTALL.md at main · discourse/discourse · GitHub 中并未对此进行说明。

第二句话本应让你停下…… :wink:

你必须拥有对 64 位 Linux 服务器的 SSH 访问权限

1 个赞

嗯,好的。这更适合放在“硬件要求”中。我也看到那里提到了“64 位”。

如果这是一个非常简单的单行检查,我完全支持。我认为在不久的将来,ARM 在服务器领域会有广阔的前景。

1 个赞

“mini racer 在 ARM 上工作”是什么意思?

我将机器升级到了 64 位(ARM v8):
Linux raspberrypi 5.4.51-v8+ #1333 SMP PREEMPT Mon Aug 10 16:58:35 BST 2020 aarch64 GNU/Linux

但仍收到上述错误。

您能否具体说明“不太遥远的未来”是指什么时候?

在未来10年内。这取决于ARM在数据中心获得多少市场关注,但我预计在此时间范围内,其影响将十分显著。

在此之前很可能会有大量进展,一旦苹果完成向笔记本电脑和台式机上的 A14 或 A15 芯片的过渡,我们就能让相关功能在 ARM 架构上正常运行。

我们希望在 Mac 上支持开发环境,而 Mac 目前已成为绝对最快的单核计算机,毕竟最新款 iPhone 在 Speedometer 测试中已斩获 200 分。

我的估计是,三年内 Discourse 在 ARM 开发环境中将能够完美运行。

3 个赞