Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: support for ARM 32bit and 64bit #429

Closed
Daveyr opened this issue Nov 30, 2020 · 10 comments
Closed

Feature request: support for ARM 32bit and 64bit #429

Daveyr opened this issue Nov 30, 2020 · 10 comments

Comments

@Daveyr
Copy link

Daveyr commented Nov 30, 2020

Would it be possible to support ARM 32bit and 64bit architecture? I would love to use these Rocker images on a Raspberry pi 2 and 4 but without ARM support this is not possible.

Alternatively, is there a way to take your docker files and compile them myself?

@eddelbuettel
Copy link
Member

r-base which is the same as our rocker/r-base already does arm64 and ppc64e. What is the build tag for ARM 32-bit builds? Just arm32 ?

We are unlikely to build many other Rocker images as there are a) just too many and b) some have build-depencies on things like RStudio Server or Shiny Server which we do not get in arm-binary form.

@znmeb
Copy link

znmeb commented Nov 30, 2020

I have (mostly) working Dockerfiles, etc. for building RStudio Server on arm64, specifically the NVIDIA Jetson development kits. However, the build process is currently bound to my own personal hardware - I don't have any cloud infrastructure for automated builds / CI / CD / testing. One of them (pandoc from source) takes about 6 hours.

Once I get the current release out (hopefully this week) I'm going to look at cross-building on x86-64, so I can at least get the RStudio Server and Pandoc pieces fully automated.

@Daveyr
Copy link
Author

Daveyr commented Nov 30, 2020

Thanks for the reply. Yes, I think the tag is arm32. I found that R-base supports arm64 so was thinking of building an image from there but wanted to make sure I wasn't redoing someone else's work unnecessarily. It's a shame that Rstudio server and Shiny don't have arm binaries as these were the exact use cases I was thinking of!

As for R-base for arm32, I guess I will have to build from scratch. I've already begun a proof of concept here, based on an Ubuntu arm32 image.

@znmeb, the cross-building sounds interesting and I didn't realise Jetson boards were so similar to the Pi. However, I'd quite like to either have an image from an "official" source or a docker file to allow for building myself. I think this way myself and others can have high confidence in security and licensing.

@znmeb
Copy link

znmeb commented Nov 30, 2020

Thanks for the reply. Yes, I think the tag is arm32. I found that R-base supports arm64 so was thinking of building an image from there but wanted to make sure I wasn't redoing someone else's work unnecessarily. It's a shame that Rstudio server and Shiny don't have arm binaries as these were the exact use cases I was thinking of!

I don't know about Shiny but the RStudio source tree has Dockerfiles / scripts for building the packages, and they'll work with some hacking on an arm64 system. The base Docker Hub images for Debian and Ubuntu are multi-arch; they run arm64 code if you pull them to an arm64 host.

Where the hacking comes in is that the required versions of binary dependencies like boost and pandoc are not easily obtainable. Because the Jetson runs Ubuntu 18.04 I have to build those myself. If you build on Debian testing the ones in the Debian repos are probably good enough.

@tylerlittlefield
Copy link

tylerlittlefield commented Jun 2, 2021

We are unlikely to build many other Rocker images as there are a) just too many and b) some have build-depencies on things like RStudio Server or Shiny Server which we do not get in arm-binary form.

If binaries for RStudio Server and/or Shiny Server ever pop up, will rocker support ARM? Just wanted to clarify if it's more a matter of availability vs pushing too many images.

I am currently building my own image based on existing work by @znmeb and @amoselb, but have been anxiously waiting for the day I can pull rocker/rstudio and rocker/shiny to my raspberry pi.

@eddelbuettel
Copy link
Member

The r-base image built by Docker (using our rocker/r-base) already does "amd64, arm64v8, ppc64le, s390x" and could do more. The problem, as has been pointed out, is if and when you want to pile more binaries you have ensure those binaries exist. For those provided by your friendly neighborhood IDE provider you will have to ask them, not us. (And I can't believe they still have not bothered with an apt-able repo ....)

@tylerlittlefield
Copy link

tylerlittlefield commented Jun 2, 2021

I totally get that it's not rocker's responsibility to make ARM binaries for someone else's product. I guess I was just wondering if it's something rocker is interested in at all (pushing ARM images of rstudio/shiny server, should binaries be available in the future).

@jmcphers
Copy link

For those provided by your friendly neighborhood IDE provider you will have to ask them, not us.

Hello from your friendly neighborhood IDE provider! We are producing arm64 binaries now. They are currently experimental and will become part of a stable release next year. You can grab them now or wait for a stable release, depending on your appetite for risk.

https://dailies.rstudio.com/

@eddelbuettel
Copy link
Member

(Nice. Though you probably meant rocker/versioned2 which houses the rstudio container.)

@eitsupi
Copy link
Member

eitsupi commented Sep 20, 2022

This is the issue about RStudio Server.
rocker-org/rocker-versioned2#144

About Shiny Server
rocker-org/rocker-versioned2#361

@eddelbuettel Can we close this issue as it is probably not on the plan?
Raspberry Pi already runs on arm64 OS, so there is little demand for arm32 now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants