[R] Problems with installing R packages from source and running C++ in R, even on fresh R installation

Ivan Krylov kry|ov@r00t @end|ng |rom gm@||@com
Wed Aug 30 20:59:43 CEST 2023


On Wed, 30 Aug 2023 16:31:20 +0000
Christophe Bousquet <chr_bousquet using protonmail.com> wrote:

>  So, yes, it seems possible for R to localize paths related to
> Rtools... But then, I really do not get where things go wrong...

When installing packages containing code to compile, R eventually calls
R CMD SHLIB. Same thing happens with inline C++: it gets stored in a
temporary file, compiled into a *.dll using R CMD SHLIB and then loaded
using dyn.load().

Write the following into a file named hello.c:

#include <R.h>
#include <Rinternals.h>
SEXP hello(void) {
        SEXP ret = PROTECT(allocVector(STRSXP, 1));
        SET_STRING_ELT(ret, 0, mkChar("hello"));
        UNPROTECT(1);
        return ret;
}

From within R, setwd() to the directory containing hello.c and run:

tools::Rcmd('SHLIB -n hello.c')
tools::Rcmd('SHLIB hello.c')

What do the commands print? Does the second command fail?

(Let's Cc: R-help using r-project.org in case people with more experience
debugging Windows problems have a better idea what's going on.)

-- 
Best regards,
Ivan



More information about the R-help mailing list