epiverse-trace / epiverse-trace/tutorials
Apple Sillicon review debug session report
- Dominant language
- R
- Stars
- 3
- Forks
- 7
- PR merge metrics
- No merged PRs in 30d
Description
Hi :wave: 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.
Contributor guide
Assessment
This issue has not been assessed yet.