Different R versions need different binaries

Your service seems to build a single binary and host that for all versions of R? This does not work, because the R ABI has small changes in between versions.

For example if we try to install your binaries on R-4.1 we get:

options(repos = "https://cran.devxy.io/amd64/noble/latest")
install.packages(c("rlang", "ragg"))
library(rlang)
# Warning message:
# package ‘rlang’ was built under R version 4.4.3 
# Error: Error: package or namespace load failed for ‘rlang’ in dyn.load(file, DLLpath = # DLLpath, ...):
# unable to load shared object '/home/runner/work/_temp/Library/rlang/libs/rlang.so':
#  /home/runner/work/_temp/Library/rlang/libs/rlang.so: undefined symbol: R_existsVarInFrame

library(ragg)
# Error: Error: package or namespace load failed for ‘ragg’ in dyn.load(file, DLLpath = DLLpath, # ...):
#  unable to load shared object '/home/runner/work/_temp/Library/ragg/libs/ragg.so':
#   /home/runner/work/_temp/Library/ragg/libs/ragg.so: undefined symbol: R_GE_glyphFontIndex
# In addition: Warning message:
# package ‘ragg’ was built under R version 4.4.3 

See output here: https://github.com/jeroen/test-xy/actions/runs/15331522513

CRAN and Posit and R-universe provide separate binaries for different versions of R for a reason.

You should probably document which R version(s) you support and not mix those up.

Edited by Jeroen Ooms