You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Miles McBain (Jira)" <ji...@apache.org> on 2021/11/16 06:30:00 UTC

[jira] [Created] (ARROW-14719) [R] Environement variables controlling package build makes locking down package version difficult/impossible

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)