Exec format error on pod (ARM arch)

Hello, I installed Coder (using kube) on a rasp, but when I create a workspace (using a kube template), one of my pods ends with exec format error. I guess it comes from the image being compiled for x86 and not ARM. Is there any image that I can use/find that supports ARM arch ? If not, where can I find the sources to compile the image into ARM ? Thanks
Solution:
If Coder (coder provisioner) is running on an ARM64 machine data.coder_workspace.me.arch will return arch64. But as you wish to have your workspaces on another machine you should not use this but set the arch of coder_agent resource to correct value i.e. AMD64....
Jump to solution
6 Replies
Codercord
Codercord9mo ago
<#1193548810937454772>
Category
Help needed
Product
Coder OSS (v2)
Platform
Linux
Logs
Please post any relevant logs/error messages.
tholeb
tholeb9mo ago
bump
Atif
Atif9mo ago
Can you share your template? Or specifically the image it is using.
Shiishii
Shiishii4mo ago
I think I have the same error. I have a template which can work on arch ARM64 and AMD64. But it seems the data.coder_provisioner.me.arch give me the arch of the coder pod and not the one where the workspace is running. So if the coder pod is running on an arm64 machine, every workspaces running on an amd64 just won't start because of exec format error If the coder pod is running on amd64 then every workspaces runnint on arm64 won't The following logs is on a pod running on an amd64 machine when coder pod is on an arm64 :
+ curl -fsSL --compressed https://code.example.com/bin/coder-linux-arm64 -o coder
+ break
+ chmod +x coder
+ [ -n ]
+ export CODER_AGENT_AUTH=token
+ export CODER_AGENT_URL=https://code.example.com/
+ exec ./coder agent
/bin/sh: 89: exec: ./coder: Exec format error
+ curl -fsSL --compressed https://code.example.com/bin/coder-linux-arm64 -o coder
+ break
+ chmod +x coder
+ [ -n ]
+ export CODER_AGENT_AUTH=token
+ export CODER_AGENT_URL=https://code.example.com/
+ exec ./coder agent
/bin/sh: 89: exec: ./coder: Exec format error
Atif
Atif4mo ago
Yes. It's expected behavior. If you want to provision on another machine you need to send the arch of coder_agent resources accordingly
Solution
Atif
Atif4mo ago
If Coder (coder provisioner) is running on an ARM64 machine data.coder_workspace.me.arch will return arch64. But as you wish to have your workspaces on another machine you should not use this but set the arch of coder_agent resource to correct value i.e. AMD64.
Want results from more Discord servers?
Add your server