Use the arrow keys inside the deck to advance. Rendered from one Quarto source — the same file produces the PowerPoint download, and the figures come from one DiagrammeR spec shared with this page.
Why the Compute Canada stack
Every R version the package-validation register offers was compiled by EasyBuild, published read-only over CVMFS, and is selected at run time by Lmod — the same software stack the Digital Research Alliance of Canada (formerly Compute Canada) runs its national clusters on. Four things follow.
Getting in
Nothing is installed and nothing is downloaded up front. The tree is
already mounted, read-only;
module load
edits
PATH
and
LD_LIBRARY_PATH
in the shell
you already have. The same lines work on x86_64 and arm64 — the
architecture triple selects the tree.
TRIPLE=$(uname -m)-linux-gnu # x86_64-linux-gnu or aarch64-linux-gnu ROOT=/cvmfs/software.ndexr.io/$TRIPLE/current source $ROOT/lmod/init/profile module use $ROOT/eb/modules/all module avail module load R R --version
CVMFS is a read-only filesystem served over plain HTTP with a local cache — built at CERN to give the worldwide LHC computing grid one software tree. Files arrive when a process opens them, so you pay for the handful you touch rather than for the size of the tree; identical content is stored and fetched once however many modules share it; and catalogues are signed and revisions atomic, so a client sees the whole new revision or the whole old one, never a half-updated environment.
Named all the way down
Take one ordinary line —
library(stringr)
— and walk
it to the floor.
stringr
requires
stringi
, which is C++ that links
ICU
: not a copy vendored into the package, but the one the stack
publishes. That ICU is
ICU/75.1-GCCcore-13.3.0
, built
from
icu4c-75_1-src.tgz
at a recorded sha256 by
GCCcore 13.3.0
, which is itself built from
gcc-13.3.0
source against
binutils 2.42
. The chain ends at
glibc 2.43
, compiled from
source by the prefix bootstrap. Every box has a file naming where its
source came from, and no layer underneath belongs to nobody.
$ ldd stringi.so | grep icu libicuuc.so.75 => /cvmfs/.../ICU/75.1-GCCcore-13.3.0/lib64/libicuuc.so.75 libicui18n.so.75 => /cvmfs/.../ICU/75.1-GCCcore-13.3.0/lib64/libicui18n.so.75
Why not just a container
A container image and an EasyBuild recipe look like the same promise — freeze the environment — but they freeze different things. A Containerfile resolves against a distribution archive that moves continuously; an easyconfig resolves against a source tarball at a fixed hash. Everything below follows from that one difference.
Where it sits
Use the Regeneron bar above to move across the suite. Surface tracks what regeneron.com publishes. Package validation holds GxP evidence per R package, run against the very interpreters REACH describes. Rapid prototyping is the delivery story. REACH is the ground all three stand on.