Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apple Sillicon review debug session report #116

Open
chartgerink opened this issue Jan 31, 2024 · 1 comment
Open

Apple Sillicon review debug session report #116

chartgerink opened this issue Jan 31, 2024 · 1 comment
Assignees

Comments

@chartgerink
Copy link
Member

chartgerink commented Jan 31, 2024

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.

@avallecam
Copy link
Member

avallecam commented Nov 14, 2024

@Bisaloo today's error on Mac seems closer to this one, as reported during the hackathon (also in #39)

- One or more packages recorded in the lockfile are not installed.
- Use `renv::status()` for more details.
→ Recording changes in lockfile
The following required packages are not installed:
- abind      [required by arm]
- checkmate  [required by cleanepi, epiparameter, linelist, and 1 other]
- numDeriv   [required by distributional]
- RcppEigen  [required by lme4]
- snakecase  [required by janitor]
- sysfonts   [required by tracetheme]
- testthat   [required by nloptr, toOrdinal]
Consider reinstalling these packages before snapshotting the lockfile.

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.

I think the next step could be to add this to the CONTRIBUTING file

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Todo
Development

No branches or pull requests

2 participants