-
-
Notifications
You must be signed in to change notification settings - Fork 218
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
Rcpp:::LdFlags()
does not work correctly with R 4.4.0, pulling in warnings from R
as if they were objects for the linker
#1302
Comments
One has not needed Lines 13 to 15 in 03fd09a
You can easily find other references for the deprecation. You should report and/or fix packages that still use it (such as Also: Lines 1 to 12 in 03fd09a
|
Ok, thank you, this is helpful. We can get rid of these locally in the worst case. Let's close the issue, since it must be fixed of packages' side. |
Also note that the woes appear to be local to your builds so this may by an X-Y problem in hiding. Under Ubuntu:
Trust me that we would have heard from CRAN if we broke stuff systematically. |
@eddelbuettel It returns this for me:
But this just appeared in R 4.4.0. So pretty likely it is a bug in |
You may want to look into file ## Provide linker flags -- i.e. -L/path/to/libRcpp -- as well as an
## optional rpath call needed to tell the Linux dynamic linker about the
## location. This is not needed on OS X where we encode this as library
## built time (see src/Makevars) or Windows where we use a static library
## Updated Jan 2010: We now default to static linking but allow the use
## of rpath on Linux if static==FALSE has been chosen
## Note that this is probably being called from LdFlags()
## Updated Nov 2013: We no longer build a library. This should be deprecated.
RcppLdFlags <- function() {
#.Deprecated(msg=paste("This function is now deprecated as it has not",
# "been needed since 2013."))
""
}
#... stuff omitted ...
## LdFlags defaults to static linking on the non-Linux platforms Windows and OS X
LdFlags <- function() {
cat(RcppLdFlags())
} If these function calls fail you may have other problems. And you don't have to feel obliged to keep me in the loop here. |
The warnings originate from here in
Got it. |
Rcpp:::LdFlags() is deprecated and produces an empty string (https://www.rdocumentation.org/packages/Rcpp/versions/1.0.12/topics/LdFlags-deprecated), and hasn't been needed for long enough that there may not be loss in compatibility with current systems (RcppCore/Rcpp#1302 (comment)). Removing these Makevars settings is a simple way to address issues for some system x Rprofile combinations (amices#646).
Rcpp:::LdFlags() is deprecated and produces an empty string (https://www.rdocumentation.org/packages/Rcpp/versions/1.0.12/topics/LdFlags-deprecated), and hasn't been needed for long enough that there may not be loss in compatibility with current systems (RcppCore/Rcpp#1302 (comment)). Removing these Makevars settings is a simple way to address issues for some system x Rprofile combinations (amices#646).
@eddelbuettel Could you please help a bit here? I am not sure it is a bug in
Rcpp
itself, since this issue arose withR
4.4.0.Specifically,
$(R_HOME)/bin/Rscript -e "Rcpp:::LdFlags()"
does not work correctly, and adds parts ofR
textual warnings as arguments for the linker, which obviously cannot work. So now packages which rely onRcpp:::LdFlags
fail to build.With gcc:
With clang:
I tried both
Rcpp
1.0.12 and 1.0.11, no change, so it is not introduced recently for sure. However, what changed fromR
side is an introduction of these warnings:While the issue is seen only on 32-bit archs, I think the error has nothing to do with bitness as such, it is just
R
does not generate those warnings on 64-bit.What I do not know is whether it was an implicit issue with
Rcpp
which never shown up until this change, or a bug in the new release ofR
.Any suggestions are greatly appreciated, I can test on my end.
See also: https://trac.macports.org/ticket/69849
The text was updated successfully, but these errors were encountered: