Comments (8)
The main reason I did not enable this before was because I thought we won't be able to use container based builds in linux. Let me test this out and see what the hit is.
from rules_r.
I tried.
The linux build is still based on containers, so that concern is taken care of. But macOS is failing at one point. Because the macOS setup is VM based, I can not really reproduce the environment and see what is going wrong. The tests pass on my mac.
from rules_r.
Thanks for trying! I haven't been able to identity the source of the failure either, but it somehow disappears with R-3.5.0 and was not present with R-3.3.0.
from rules_r.
I tried R 3.5.0 as well, but I am having other unrelated problems there -- https://travis-ci.org/siddharthab/rules_r/jobs/377939301. Other users have reported seeing the same issue with R 3.5.0.
from rules_r.
The message you see concerning the compilation of rlang comes from the fact that R-3.5.0 checks for an internal ID in Meta/features.rds for packages that contain compiled code. If Meta/features.rds is absent or the internal ID is different, this error is raised.
You need to do something like that in _package_files in build.bzl:
pkg_files += [
ctx.actions.declare_file("lib/{0}/Meta/features.rds".format(pkg_name)),
]
See https://travis-ci.org/hchauvin/rules_r/builds/378047858.
It makes me think that there should probably be a test in './tests' to make sure that nothing unexpected is created and not registered as an output when building a package, because this kind of behavior is extremely hard to debug.
from rules_r.
Got it! Thanks for looking into it. I have to give a little more time to understand when features.rds is expected and when not. I tried to do that in the very early days, but could not find a reliable marker and so left it out of pkg_files.
In general, I have to go through all the packages I have and check the output of file_list_diff to see which files we miss collecting from the sandbox.
from rules_r.
This is now working with bb6532e. I will get this pushed through our internal system.
from rules_r.
Resolved by c68c7b3.
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.