Miles McBain created ARROW-14719:
------------------------------------
Summary: [R] Environement variables controlling package build
makes locking down package version difficult/impossible
Key: ARROW-14719
URL: https://issues.apache.org/jira/browse/ARROW-14719
Project: Apache Arrow
Issue Type: Improvement
Components: R
Affects Versions: 6.0.0
Environment: Linux
Reporter: Miles McBain
This is a companion issue to this one I raised for \{renv}:
[https://github.com/rstudio/renv/issues/860]
The use of env vars to control package features at build time as described at
[https://arrow.apache.org/docs/r/articles/install.html|https://arrow.apache.org/docs/r/articles/install.html)]
is not compatible with R's premier package dependency control system: \{renv}.
{renv} caches package builds, which creates a failure mode where the cached
build of \{arrow} on one system does not have the same features as that on
another. The two systems can restore from the same `renv.lock` file and get
package libraries that contain the same versions of \{arrow} with different
capabilities, potentially causing the project to unexpectedly fail an automated
deployment.
This actually happened to my team.
It could be helpful to have LIBARROW_MINIMAL, set to false by default,
reducing the chance of this happening. But ultimately any use of env vars
driving capabilities in build creates a risk of version capability mismatches
that {renv} cannot mitigate at present.
There are possibly some clever solutions that could be deployed on both sides.
This issue is just trying to start a conversation.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)