[Rcpp-devel] Rcpp::sourceCpp Problem with R 4.3 update

Alexander Ilich ailich at usf.edu
Tue May 30 21:13:30 CEST 2023


I could potentially be sending you down the wrong rabbit hole, but I know with R 4.3 they switched from C++11 to C++17 being the standard<https://www.tidyverse.org/blog/2023/03/cran-checks-compiled-code/>. Have you tried updating to a newer version of Rcpp?

________________________________
From: Kevin Ushey <kevinushey at gmail.com>
Sent: Tuesday, May 30, 2023 3:02 PM
To: Alexander Ilich <ailich at usf.edu>
Cc: Dominick Samperi <djsamperi at gmail.com>; rcpp-devel <Rcpp-devel at r-forge.wu-wien.ac.at>
Subject: Re: [Rcpp-devel] Rcpp::sourceCpp Problem with R 4.3 update

I'm also not able to reproduce, but I see a different linker invocation:

g++ -shared -static-libgcc -o sourceCpp_3.dll tmp.def file43185fe94049.o -LC:/rtools43/x86_64-w64-mingw32.static.posix/lib/x64 -LC:/rtools43/x86_64-w64-mingw32.static.posix/lib -LC:/R/R-43~1.0/bin/x64 -lR

In particular, yours is passing both '-std=gnu++17' and '-s'. Have you modified your R Makevars file, or R installation's etc/Makeconf?

On Tue, May 30, 2023 at 11:43 AM Alexander Ilich <ailich at usf.edu<mailto:ailich at usf.edu>> wrote:
What version of Rcpp are you using? With R 4.3 and Rcpp 1.0.10 I have no issues.

library(Rcpp)


Rcpp::sourceCpp(code='
  #include <Rcpp.h>
  using namespace Rcpp;
  // [[Rcpp::export()]]
  SEXP cpptest(NumericVector v) {
    return v;
  }'
)
cpptest(1:5)
#> [1] 1 2 3 4 5


R.version
#>                _
#> platform       x86_64-w64-mingw32
#> arch           x86_64
#> os             mingw32
#> crt            ucrt
#> system         x86_64, mingw32
#> status
#> major          4
#> minor          3.0
#> year           2023
#> month          04
#> day            21
#> svn rev        84292
#> language       R
#> version.string R version 4.3.0 (2023-04-21 ucrt)
#> nickname       Already Tomorrow
packageVersion("Rcpp")
#> [1] '1.0.10'
________________________________
From: Rcpp-devel <rcpp-devel-bounces at lists.r-forge.r-project.org<mailto:rcpp-devel-bounces at lists.r-forge.r-project.org>> on behalf of Dominick Samperi <djsamperi at gmail.com<mailto:djsamperi at gmail.com>>
Sent: Tuesday, May 30, 2023 2:27 PM
To: rcpp-devel <Rcpp-devel at r-forge.wu-wien.ac.at<mailto:Rcpp-devel at r-forge.wu-wien.ac.at>>
Subject: [Rcpp-devel] Rcpp::sourceCpp Problem with R 4.3 update

Looks like the recent update to R 4.3 broke Rcpp::sourceCpp.

Here is a simple example...

library(Rcpp)
Rcpp::sourceCpp(code='
  #include <Rcpp.h>
  using namespace Rcpp;
  // [[Rcpp::export()]]
  SEXP cpptest(NumericVector v) {
    return v;
  }'
)
cpptest(1:5)

This works without problems under R 4.2.3, but under R 4.3 I get...

using C++ compiler: 'G__~1.EXE (GCC) 12.2.0'
C:\rtools43\x86_64-w64-mingw32.static.posix\bin/ld.exe: internal error: aborting at ../../binutils-2.40/ld/ldlang.c:527 in compare_section
C:\rtools43\x86_64-w64-mingw32.static.posix\bin/ld.exe: please report this bug
collect2.exe: error: ld returned 1 exit status
g++ -std=gnu++17  -I"c:/PROGRA~1/R/R-43~1.0/include" -DNDEBUG   -I"C:/PROGRA~1/R/R-43~1.0/library/Rcpp/include" -I"C:/Users/djsam/AppData/Local/Temp/RtmpKEsaiY/sourceCpp-x86_64-w64-mingw32-1.0.10"   -I"C:/rtools43/x86_64-w64-mingw32.static.posix/include"     -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign  -c filebb0108a7dbf.cpp -o filebb0108a7dbf.o
g++ -std=gnu++17 -shared -s -static-libgcc -o sourceCpp_2.dll tmp.def filebb0108a7dbf.o -LC:/rtools43/x86_64-w64-mingw32.static.posix/lib/x64 -LC:/rtools43/x86_64-w64-mingw32.static.posix/lib -Lc:/PROGRA~1/R/R-43~1.0/bin/x64 -lR
Error in Rcpp::sourceCpp(code = "\n  #include <Rcpp.h>\n  using namespace Rcpp;\n  // [[Rcpp::export()]]\n  SEXP cpptest(NumericVector v) {\n    return v;\n  }") :
  Error occurred building shared library.

Thanks,
Dominick


[EXTERNAL EMAIL] DO NOT CLICK links or attachments unless you recognize the sender and know the content is safe.

_______________________________________________
Rcpp-devel mailing list
Rcpp-devel at lists.r-forge.r-project.org<mailto:Rcpp-devel at lists.r-forge.r-project.org>
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel

[EXTERNAL EMAIL] DO NOT CLICK links or attachments unless you recognize the sender and know the content is safe.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20230530/fe1d3a90/attachment-0001.htm>


More information about the Rcpp-devel mailing list