Skip to content

Apple Sillicon review debug session report #116

Open
@chartgerink

Description

@chartgerink

Hi 👋 I have been debugging the Apple Sillicon process for reviewing as a result of discussions in #104.

The summary: success is possible. 👍

Developer dependencies

These are the dependencies I had to install in my system (outside of R) - this may be helpful for the general contributing doc:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install r harfbuzz fribidi libgit2 jpeg freetype libpng libtiff glpk

R dependencies

I wrestled with these a lot, because I kept getting errors around the renv_snapshot validation. I think this is the order in which it leads to success:

install.packages(c('RcppParallel', 'call', 'curl', 'httr', 'openssl', 'pkgbuild', 'rang', 'rstantools', 'xml2', 'desc', 'desc', 'pkgbuild', 'igraph', 'DiagrammeR'))

install.packages(c("sandpaper", "varnish", "pegboard", "tinkr"),
  repos = c("https://carpentries.r-universe.dev/", getOption("repos")))

Followed by this, which should work immediately after the dependencies are available

renv::install() # might be optional 
sandpaper::manage_deps()

The back and forth was not getting me anywhere for a while, receiving the same error for quite a while (see "Error" details below). When it ended up working I was sort of surprised. I spent 90 minutes to get this to work, from start on an Apple Sillicon device without any developer tooling. Part of that time was the back and forth, so I think we could reduce that somewhat by streamlining the steps.

Error
Error: 
! in callr subprocess.
Caused by error in `renv_snapshot_validate_report(valid, prompt, force)`:
! aborting snapshot due to pre-flight validation failure
ℹ See `$stdout` and `$stderr` for standard output and error.
Type .Last.error to see the more details.

Next steps

I wrote this up in order to document the steps I took to resolve the installation process in a crude form. This helps the discussion about what to do with @avallecam. I am happy to add docs to the reviewer guidelines after seeing whether this is a reproducible solution.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions