Thanks for the feedback! Glad you're finding Public Package Manager (and our Linux binaries) useful!
We do have arm64 binaries on our list of requested binary distributions, but it's not currently on our short term roadmap. Since we provide comprehensive binary support for the entirety of CRAN, not just on the latest version of R but also for the past four R releases, every distribution / platform variant we support adds over 100,000 binaries that have to be built and maintained. While we'd love to provide binaries for every requested environment, we do need to prioritize our limited resources where most needed.
Requests like this are appreciated and encouraged, as it does help us recognize the demand and prioritize accordingly. In that vein, can you give us a little more detail about how you use these binaries, and what arm64 Linux distribution(s) are most important to you?
I was searching around to see if there was a plan for linux/arm64 binaries, and found your post above. I thought I would chime in here and answer your question above with my own use case:
I work between an Apple Silicon Mac (arm64), and an Intel-powered remote cluster. I would like to be able to develop multi-platform Docker containers containing a synchronised development environment, so I can test my pipelines locally before running on the remote cluster. Currently, creating the arm64 container requires compiling packages from source - this is slow, and times out if I run the build on e.g. Github Actions.
I would say that binaries for Ubuntu would be most important to me, as this would allow me to continue to use Rocker base images, but I don't know if that would be the most useful more generally.
I certainly appreciate the resources may not be there for this, but I hope that gives you some sense of at least one use-case, if it's still on your roadmap!
At R-hub we have an experimental repo [1] that has aarch64 Linux R packages for Ubuntu 22.04 and R 4.4. Only a subset of popular and slow-to-build packages are available and they are updated daily.
The caveat is that you need to use pak [2] to install the R packages.
Thanks for the info everyone! The use case we have in mind is using renv to install binary package from Posit Package Manager in our arm64 Docker builds using Ubuntu based images.
We are still exploring including full CRAN binaries for arm64 on selected platforms via Posit Package Manager. Hearing both of you interested in Ubuntu is a helpful data point. No timeline for availability yet, but still hoping to get it on the roadmap soon. Thanks as always for your interest!
Just wanted to confirm the need for this. Anyone using an Apple Silicon Mac (an increasingly large number of people) has to deal with epically slow builds from source.
Particularly when used with Dockerized dev environment (rocker project), where it is common to reinstall all packages on every build, things become unusably slow.
Hi jpvelez, just so it's clear we do have arm64 binaries for Mac. If you use p3m.dev on your Mac, you should see a binary in most cases. It is the case though that we still haven't added in Linux binaries, which would cause the issues with a Docker build using Linux on the Mac.
FWIW the R4Pi project has aarch64 binaries for a subset of the most popular R packages for Ubuntu 24.04 LTS you just need to add "https://pkgs.r4pi.org/noble" as your package repo
Since it sounds like it's useful to hear interest in this, I'll just chime in that we have the same use case of containerized applications running on arm. In our case we use a mix of Ubuntu and Debian.
While I agree there is a real need to have precompiled arm64 linux binary packages....
For those that are struggling with epically slow build times for R packages now:
I would echo what @Gabor already hinted at and highly recommend to use https://pak.r-lib.org/ to install packages. The relevant feature in pak is that (source) packages are downloaded, compiled and installed truly in parallel leading to significant speed up when compared to install.packages(). So the more cores you have available on a given server, the faster the docker build will be.
Additionally pak - when run with admin privileges - will automatically install any system dependency needed for the desired list of R packages.
I have been working with someone lately and they were heavily using Bioconductor packages that only exist as source packages (irrespectively whether it is x86_64 or arm64). Due to the heavy use of C++ the compile times are extremely looooong. Using pak instead of install.packages() however reduced their docker build time from a day to 1.5 hours.
Thanks all for your comments here. We do have arm64 binary R packages for Linux on our roadmap, but I don't think we're ready yet to give a timeline on this. We are listening to the demand though and do see this as something we need to do here at some point.
As for other upcoming features/enhancements, we are updating p3m.dev every time we have a package manager release, so there's lots of new things coming every few months. While many of the things listed in Posit Package Manager aren't for public package manager, you will see new things showing up there, such as the date-based Bioconductor snapshots that we released recently. In addition, behind-the-scenes, we did make significant upgrades to our infrastructure-as-code for public package manager in the last year to ensure we can keep it running well.