Arm: standard_init_linux.go:211: exec user process caused "exec format error"

AI-generated summary

The discussion revolves around an error encountered while trying to install Discourse on a Raspberry Pi with ARM architecture. spaceone encountered an exec format error and sought help. sam explained that ARM is not currently supported due to compatibility issues with libv8 and mini racer. spaceone suggested adding a check in the installation process to prevent setup on incompatible hardware.

codinghorror agreed that a simple check could be implemented, acknowledging a future for ARM on servers. Despite upgrading to a 64-bit ARMv8 machine, space1 still encountered the same error.

Regarding timelines for ARM support, codinghorror estimated it would happen within the next 10 years, while sam predicted it would be sooner, likely within 3 years, driven by the adoption of ARM in Macs and the need to support dev environments on those machines.

# ./discourse-setup
…
Building app
standard_init_linux.go:211: exec user process caused "exec format error"
Your Docker installation is not working correctly

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

I tried installing discourse on a raspberrypi with two different docker version:

# docker --version # (from debian buster)
Docker version 18.09.1, build 4c52b90
# docker --version # (installed via discouse installation script)
Docker version 19.03.12, build 48a6621
# arch
armv7l

How to fix/workaround this?

The solutions there doesn’t work at all.

ARM is not going to work till libv8 and mini racer work on ARM

That’s sad. Maybe a check in the installation could stop the setup immediately.

It was at least not documented in GitHub - discourse/discourse: A platform for community discussion. Free, open, simple. · GitHub and discourse/docs/INSTALL.md at main · discourse/discourse · GitHub.

The second sentence should have stopped you… :wink:

`You must have SSH access to a 64-bit Linux server

Hm okay. this would better fit in the Hardware requirements. And I see 64 bit is mentioned there, too.

If this is a very simple one-line check I could get behind this. I do see a future for ARM on the server in the not too distant future.

What does “mini racer work on ARM” mean?

I upgraded the machine to 64 bit (arm v8):
Linux raspberrypi 5.4.51-v8+ #1333 SMP PREEMPT Mon Aug 10 16:58:35 BST 2020 aarch64 GNU/Linux

Still getting the above errors.

Can you say when the “not too distant future” could be?

Within the next 10 years. Depends how much traction ARM gets in datacenters, but I expect within that timeframe, it will be significant.

Likely a lot prior to that, we will get stuff working on arm properly once Apple finish the transition to the A14 or A15 on laptops and desktops.

We want to support dev environments on Macs and Macs are poised to be the absolute fastest single core computers out there now that the latest iPhone is scoring 200 on speedometer.

My estimate is that within 3 years Discourse will work fine on arm dev environments.