Comments (6)
We had a similar issue and found that there may be a problem with env var interpolation with Renviron
:
root@46ac8f61aa7b:/# R_LIBS=$(printf '=%.0s' {1..10000}) R -s -e 'Sys.getenv("R_LIBS")'
[1] "${R_LIBS-/usr/local/lib/R/site-library:/usr/local/lib/R/library}"
root@46ac8f61aa7b:/# R -s -e 'Sys.getenv("R_LIBS")'
[1] "/usr/local/lib/R/site-library:/usr/local/lib/R/library"
root@46ac8f61aa7b:/#
We found a /usr/local/lib/R/etc/Renviron
that contained
[...]
R_LIBS=${R_LIBS-'/usr/local/lib/R/site-library:/usr/local/lib/R/library'}
[...]
To resolve our issue, we ended up removing the line from our Renviron
s :
find / -name "Renviron" | xargs sed -i -E -e "/R_LIBS=\\$\{R_LIBS-/d"
Not sure if that relates to your issue, but it definitely sounds very similar, maybe worth a try.
from rules_r.
Thanks for confirming that interpolation was the issue. I will look for workarounds.
from rules_r.
Hello,
Thank you @gfinak for reporting this issue. I did observe issues with R 3.3 but I have not seen them since then. So I defaulted to using this behaviour.
Copying all the deps to a unique temporary directory for every build can be very inefficient, but I can perhaps try symlinking them.
Is there a way I can reproduce this issue? No worries if not.
Thank you @mst for your hypothesis. Interpolation does have its own restrictions. If I can recreate the specific issue, I will try with and without interpolation.
Sid
from rules_r.
Thanks, both. Apologies, that I didn't provide a reprex, but this has been difficult to isolate. Glad to hear I'm not alone, and @mst I'll try your approach and report back. @siddharthab that's a good point. I'm new to Bazel and still finding my way around. I'll let you know shortly if this resolves the issue.
from rules_r.
@mst can confirm that editing Renviron
resolved this issue.
This was on R 4.0.
@siddharthab medium-term would you consider a patch to this that doesn't require editing Renviron
?
I'm happy to take a stab at it if it creeps up again for me in the future, but personally, for now, I'm satisfied with the work-around.
from rules_r.
Working on this now.
from rules_r.
Related Issues (20)
- r_pkg use of cc_deps - does it use the includes directive of cc_library? HOT 4
- trouble building r_pkg depending on cc_library HOT 7
- how to install r check deps into system R library path HOT 1
- "tools" specified in the toolchain are not configured for r_unit_test HOT 1
- r_unit_test should be able to declare data dependencies
- Why not let Bazel compile C++ as well? HOT 8
- Shared objects are thrown out by R cmd build HOT 1
- ARM support HOT 2
- `r_pkg_test` does not seem to work with `pkg_name`
- Rewrite razel as gazelle language extension HOT 1
- Do not rely on users using `+=` in their package Makevars
- Update covr dependency to CRAN HOT 1
- File paths in coverage information are just the package name
- Setup Buildbuddy cache for Github Actions tests HOT 1
- Make source and binary archives byte reproducible
- Collect coverage trace from cc_deps
- Question on header paths HOT 4
- Seems like C_SO_LD_FLAGS has no effect when external *.so is included HOT 2
- Fix reproducibility tests for R 4.1.0 HOT 1
- r_toolchain to support setting r and rscript using Bazel target names/labels HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rules_r.