-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Get Rhome and libR from Preferences.jl when provided #496
Get Rhome and libR from Preferences.jl when provided #496
Conversation
f909a95
to
20c3306
Compare
20c3306
to
ef63b63
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #496 +/- ##
==========================================
+ Coverage 75.76% 75.77% +0.01%
==========================================
Files 26 26
Lines 1642 1643 +1
==========================================
+ Hits 1244 1245 +1
Misses 398 398 ☔ View full report in Codecov by Sentry. |
ef63b63
to
2ed4c5f
Compare
30f51d9
to
dc6a135
Compare
One aim of this PR is to make it possible to install At first it seems like it would be possible to proceed with precompilation of Therefore the only thing to do is disable precompilation entirely when no I am interested in whether there is a subset of this module which is safe to precompile without an R interpreter for the future, which might allow for a cleaner solution for people only needing this subset, but for now this PR is as far as I can tell a minimally invasive change to getting things working nicely with |
@frankier I haven't forgotten you! But I also probably won't review this today, my apologies. 😦 Thanks for your contribution. |
This would definitely be super useful! I'd be very happy to see it merged. |
This is in case the user wants to specify and installation via Preferences.jl after installation. An error message is printed at import time if no installation is available.
a3d2404
to
75b836a
Compare
Updated with your comments. I guess the tests are false negatives? They don't seem to be to do with any of the changes and weren't there before (apart from Windows latest which was on master)? |
Thanks for cleaning up the tests and for the feedback. It looks like this test is failing https://github.com/JuliaInterop/RCall.jl/actions/runs/7444228626/job/20250301671?pr=496 Last time I looked it was failing due to a problem present on |
Same here -- I've got a Windows VM set up, but I'm really slow figuring it out. AFAICT the path is correct, but there's something about loading DLLs not in the system variable There was also an issue with the CI on macOS, but it looked to be a more fundamental issue with Conda and the availability of |
Hi! I just checked this on a Windows laptop I got access to. Using dependencywalker.exe, I found that BLAS wasn't being found which led me to realise that this was actually a bug in the test code that was only surfacing on Windows. The CondaPkg environment is not activated(!) Apparently on the other systems another version of BLAS just gets picked up. On non-Conda R it's not a problem because everything is compiled into the DLLs I think. I fixed this and added a note to the docs. I also marked the information about using with CondaPkg as experimental. |
Okay -- another failure on Windows. I feel like it worked correctly locally but I will look into it soon. |
I feel like we're heading in the right direction -- thanks for your patience and efforts! |
@@ -39,6 +39,7 @@ set_preferences!(RCALL_UUID, | |||
"Rhome" => target_rhome, "libR" => locate_libR(target_rhome)) | |||
RCall = nothing | |||
CondaPkg.withenv() do | |||
Pkg.build("RCall") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this still needed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seemed to be in my testing.
if Rhome == "" | ||
error( | ||
# This should actually error much sooner, but this is just in case | ||
isempty(Rhome) && error( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ha! Mixed feelings about this sneaky hack to pass coverage. The reason there is no coverage here is because when we shell out in installation.jl
coverage stops being measured. It's probably not worth tracking it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, it's definitely a hack but it's one I'm comfortable with for such "defense in depth" type measures.
Thanks for the docs feedback. I just left a couple of small double-checking comments back and then I guess merge time? |
See: #490