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

Dirk Eddelbuettel edd at debian.org
Tue May 30 20:37:15 CEST 2023


On 30 May 2023 at 14:27, Dominick Samperi wrote:
| 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.

I don't have any access to Windows but note that CRAN of course tests Rcpp
and its 2600+ reverse depends on Windows.

On the OS I use all is well with this (and of course in general)

> R.version
               _                           
platform       x86_64-pc-linux-gnu         
arch           x86_64                      
os             linux-gnu                   
system         x86_64, linux-gnu           
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)
nickname       Already Tomorrow            
> utils::osVersion
[1] "Ubuntu 22.10"
> Rcpp::cppFunction("SEXP cpptest(NumericVector v) { return v; }")
> cpptest(1:5)
[1] 1 2 3 4 5
> 

So I suspect something is not tied down correctly at your end; maybe new R
and old Rtools so something like that.

One gets 15 h / months free at posit.cloud (formerly rstudio.cloud), that is
good to just run a quick sanity check like this.

Dirk

-- 
dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org


More information about the Rcpp-devel mailing list