1activegeek / docker-airconnect

AirConnect container for turning Chromecast into Airplay targets
239 stars 27 forks source link

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

Closed FezVrasta closed 4 years ago

FezVrasta commented 4 years ago

Hi, thanks for the image!

When I try to run it on my RPi4 (DietPi) I get this error:

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

I think that means the target is not correct (amd vs arm, etc), ideas?

1activegeek commented 4 years ago

You are correct - this is built for standard x64, no ARM. Let me see if it's something that can be easily built for diff arch with the new GitHub pipeline stuff.

Roxedus commented 4 years ago

Those pipelines are now here 😉

1activegeek commented 4 years ago

@FezVrasta it's taken a bit, I'm sorry. But I did finally get around to adjusting this to handle the multi-arch build process from GitHub. If you are able to test it out and let me know how you make out, that would be fantastic!

schellenberg commented 4 years ago

Just tried to install this on a Raspberry Pi 4 running Raspbian Lite. I get the same error as shown above:

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

1activegeek commented 4 years ago

@schellenberg did you use the latest-arm64 or latest-armhf tag or just the latest tag?

1activegeek commented 4 years ago

ok, on second thought I think I've found the issue by accident. I'll have to do some testing and push a new version tomorrow perhaps after I think through the workaround. I'll need to introduce an environment variable to allow you to customize the run command further.

1activegeek commented 4 years ago

@schellenberg @FezVrasta can you try out the dev build I created? It can be pulled under 1activegeek/airconnect:dev - I believe docker should automatically grab your arch, but you can also specify :dev-$ARCH where ARCH = arm / arm64. Let me know if it works and I'll put together the changes for prod.

1activegeek commented 4 years ago

I got a hold of an arm64 platform to test and it looks to have worked correctly when using :dev-arm64. Please try testing and report back your feedback if this works. For now, will close this issue and look at pushing the changes to the master branch.

schellenberg commented 4 years ago

On my RPi 4, running Raspbian Lite, the :dev tag did not work. I had to specify the :dev-arm tag in order for it to work properly. Works great, though! Thanks!

1activegeek commented 4 years ago

Ya, I thought for some reason docker would auto-resolve that in a way when it senses where the pull comes from but I guess not. I've pushed this change into the master branch already so you can switch from :dev-arm to :latest-arm. Sorry it took so long, but glad its working now!

1activegeek commented 4 years ago

FYI - for anyone who was following this issue or wasn't aware. I've made a recent update that should now allow these branches to work successfully. I apparently didn't setup the GH Action scheduler properly to run for all architectures. You may have had an outdated version of the app for about 5 months. That is now fixed, and the container builds are pushed for all architectures on a weekly basis with the latest code.