Skip to content

build: make pixi run setup work on a cluster node - #45

Merged
jayhesselberth merged 2 commits into
develfrom
worktree-pixi-build-tools
Oct 20, 2026
Merged

jayhesselberth merged 2 commits into
develfrom
worktree-pixi-build-tools

Conversation

@jayhesselberth

Copy link
Copy Markdown
Member

pixi run setup fails on a cluster node: pak compiles R packages from source and the environment lacks what they need.

  • fs builds its bundled libuv with cmake, which was not installed (cmake: command not found, Makevars:44: libuv Error 127). Added cmake.
  • rsvg needs librsvg's headers and glib's glibconfig.h. Added pkg-config, librsvg and glib, and set PKG_CONFIG_PATH to the environment's lib/pkgconfig and share/pkgconfig.
  • local_install_dev_deps() upgrades packages by default, so it replaced working conda builds (rlang, xml2, withr, ...) with CRAN source builds that failed: rlang failed its load check because cli was not installed yet, and xml2 linked against the host's /usr/include/libxml2. It now runs with upgrade = FALSE.
  • igraph links libxml2 and lzma, which are not in the environment. igraph, V8, systemfonts, vroom, isoband, stringi, sass and RcppArmadillo now come from conda-forge as binaries.
  • devtools::load_all() needs decor to register the cpp11 code; added to the pak list (there is no conda package).

Checked on an Alpine compute node: pixi run setup completes, then pixi run test gives FAIL 0 | WARN 0 | SKIP 0 | PASS 536. That run used the files from #44 (the Sprinzl fix and its new regression test), so those pass too.

The lock file is regenerated; pixi also upgraded it from format v6 to v7.

jayhesselberth and others added 2 commits October 20, 2026 05:40
pak compiled R packages from source and failed on missing tools and
libraries: fs needs cmake, rsvg needs librsvg and glib's headers
(found through PKG_CONFIG_PATH), and igraph links libxml2 and lzma.
pak also upgraded packages the conda environment already provides, so
setup now passes upgrade = FALSE and the compile-heavy packages come
from conda-forge as binaries.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
devtools::load_all() needs it to register the package's cpp11 code.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

@jayhesselberth
jayhesselberth merged commit 24e5987 into devel Oct 20, 2026
3 checks passed
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

Successfully merging this pull request may close these issues.

1 participant