-
-
Notifications
You must be signed in to change notification settings - Fork 208
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
change in R-devel 4.0.0 breaks use of PKG_LIBS by plugins on Windows #1061
Comments
I see the difference you highlight (with a lot of squinting). So another layer and 'test for empty' on lines 137+138 there? (BTW Your title refers to R 4.0.0, your r-devel already has R 4.1.0 -- same for my week(end)ly automated builds of (And these architecture-dependent bugs really are a flavour of hell I could do without these days...) |
Any chance of getting this fixed upstream in R? |
Timing is less than ideal with R 4.0.0 due in 3+ weeks. If you produce obe and reason well with then maybe you can get in patch in. Your chance to shine 😀 |
Also, R 4.0.0 broke LAPACK on Windows again for RcppArmadillo so that is hold now 😞 |
@eddelbuettel that looks very much like the same problem as RcppParallel. It could be the same bug. |
FYI this is not a bug in base R; a fix in base-r has revealed a bug in Rcpp. |
@jeroen thanks for clarifying! |
See the bug just filed by @kevinushey on R's bugzilla which looks at the underlying change (as far as I can tell). So maybe let's call it 'unfortunate interaction' triggered by changes in R 4.0.0. But something we could (and have, thanks @kevinushey) fixed in Rcpp. And indeed a most helpful hint by @jeroen which should also (eventually) help RcppArmadillo which was also affected but where I did not see the root cause as clearly as @kevinushey. |
The handling of command line arguments has changed subtly on Windows in R 4.0.0. Compare:
In short: on R-devel,
PKG_LIBS=''
now gets set during compilation whenRcpp::sourceCpp()
is called, which means that plugins which rely on settingPKG_LIBS
(e.g.RcppParallel
) will fail to link, as the requisite library paths will not be passed along.You can see an example of these linker errors in RcppParallel right now here:
https://www.r-project.org/nosvn/R.check/r-devel-windows-ix86+x86_64-gcc8/RcppParallel-00check.html
Rcpp can accommodate this by ensuring no empty string gets passed into the command generated -- in particular, here:
https://github.com/RcppCore/Rcpp/blob/master/R/Attributes.R#L137-L138
I believe we should only provide this argument if we really do have a dependency source path.
(I suspect that wch/r-source@e836ed8 is the relevant change in R-devel that is affecting us here)
I will see if I can prepare an appropriate patch.
The text was updated successfully, but these errors were encountered: