futureverse / futureverse/future

R CMD build: Ignore R_FUTURE_PLAN during package build to avoid cyclic loading

Open
#541 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
R
Stars
1k
Forks
92
PR merge metrics
No merged PRs in 30d

Description

# Issue

```sh
$ R_FUTURE_PLAN=future.callr::callr R CMD build future.apply
* checking for file ‘future.apply/DESCRIPTION’ ... OK
* preparing ‘future.apply’:
* checking DESCRIPTION meta-information ... OK
* installing the package to build vignettes
-----------------------------------
* installing *source* package ‘future.apply’ ...
** using staged installation
** R
** inst
** byte-compile and prepare package for lazy loading
Error: package or namespace load failed for ‘future’:
.onLoad failed in loadNamespace() for 'future', details:
call: loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]])
error: cyclic namespace dependency detected when loading ‘future’, already loading ‘future.callr’, ‘future’
Execution halted
ERROR: lazy loading failed for package ‘future.apply’
* removing ‘/tmp/hb/RtmpuGbp1R/Rinst4a9660c92d74/future.apply’
-----------------------------------
ERROR: package installation failed
```

# Action

Have `.onLoad()` detect when `R CMD build` is running and unset `R_FUTURE_PLAN`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.