r-hub/evercran

Sarge images do not work on arm64 host

gaborcsardi opened this issue · 9 comments

Calling linux32 does not work, apparently. But also, it does not seem to be needed?

❯ docker run -ti  --platform linux/i386 ghcr.io/r-hub/evercran/1.9.1:latest bash
Cannot set 8 personality: Invalid argument
❯ docker run -ti  --platform linux/i386 --entrypoint bash ghcr.io/r-hub/evercran/1.9.1:latest
ddcae71e20bc:~# arch
i686
ddcae71e20bc:~# R
...
> version
         _
platform i686-pc-linux-gnu
arch     i686
os       linux-gnu
system   i686, linux-gnu
status
major    1
minor    9.1
year     2004
month    06
day      21
language R

EDIT: on x86_64 we do need linux32 as the entry point, though:

❯ docker run -ti  --platform linux/i386 --entrypoint bash ghcr.io/r-hub/evercran/1.9.1:latest
881072a1ccd3:~# arch
x86_64

So we should call linux32 on x86_64 hosts, but not on aarch64 hosts. Or rather, if arch is x86_64 then we should call it, otherwise not. Maybe we can do this.

Including the 0.x and 1.x images.

Or we can just not call linux32 for now, so that the containers start at least. R was already built with i386, so that is fine, and people will need to call linux32 manually for now.

This seems like a good temporary solution.

On my Macbook M2 indeed the following works:

docker run -ti  --platform linux/i386 --entrypoint bash ghcr.io/r-hub/evercran/pre:latest

This would be nice in the README.

@hughjonesd A PR is always welcome! (But no pressure...)

OK, PR1525 addresses this.

@hughjonesd Where is that PR?

Sorry. Wrong issue, wrong repo!!!

OK, this should be fixed now, and Sarge images should work OOTB, on arm64 and x86_64 hosts as well.

Indeed all images should now work without extra arguments OOTB.