Git Product home page Git Product logo

rinside's Introduction

RInside: Easy embedding of R inside C++ (and C)

CI License CRAN Dependencies Debian package Downloads Last Commit

About

The RInside package provides a few classes for seamless embedding of R inside of C++ applications by relying on Rcpp.

Examples

Provided with the package itself are nine subdirectories with examples: from more than a dozen basic command-line examples (in directory standard) to graphical user-interfaces (using both Qt and Wt), linear algebra with Armadillo and Eigen, parallel computing with MPI to a sandboxed server, and (since release 0.2.16) a simple (and more limited) interface for embedding insice C applications.

The simplest example (modulo its header) is examples/standard/rinside_sample0.cpp

#include <RInside.h>                    // for the embedded R via RInside

int main(int argc, char *argv[]) {

    RInside R(argc, argv);              // create an embedded R instance

    R["txt"] = "Hello, world!\n";	    // assign a char* (string) to 'txt'

    R.parseEvalQ("cat(txt)");           // eval the init string, ignoring any returns

    exit(0);
}

The Qt example directory produces this application for showing how to use R (to estimate densities) inside a C++ executable (providing the GUI):

The code is portable across operating systems. Similar, the Wt example directory contains this C++-based web application doing the same:

See Also

The RInside web page has some more details.

Authors

Dirk Eddelbuettel, Romain Francois, and Lance Bachmeier

License

GPL (>= 2)

rinside's People

Contributors

cauthmann avatar djsamperi avatar eddelbuettel avatar ellert avatar fradav avatar jeroen avatar jonathon-love avatar jorisgoosen avatar kevinushey avatar llaniewski avatar mirca avatar paberline avatar romainfrancois avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rinside's Issues

RInside.h: No such file or directory

I'm so sorry of coming back to an issue that is already solved. I am not very good at programming. I am still learning. So, an explanation in easy words will help me.

I installed R version 3.4.1. I use it through Rstudio. I also installed required tools and package as Rtools (under the path C:\Rtools), and the Rcpp, Rinside, RcppArmadillo packages.

I have previously used RcppArmadillo and it deals very well. I posted an example using RcppArmadillo for performing a bootstrap on my own website and that is great. But RInside does not still work. I have not space in my R installing path (that is c:\R). but I obtain this error

capture

Can anyone help me ? Why does RInside.h file not find although I installed the packages and tools ? I saw many people encounter this problem but I do not understand how they have solved it.

Thanks!

3rd Party Library Installation

Hi,

Sorry if this question does not make sense. I want to learn if I can use RInside to install 3rd party R libraries (for example from Github)? Or, do I need to code the 3rd party library from scratch? Thanks for your understanding.

CMakeLists.txt Example

Hi folks, is there an example of how to create a CMakeLists.txt file to build a c++ project with R Inside?

RInside can't be initialized on child thread

not sure if this is intended behavior. but it seems weird. I understand that R does not support multi thread. But creating RInside on a child thread, and use it on this child thread only should be fine as it is used on a single thread.

however, with following code, I always got the "Stack usage is too close to the limit" error.

void create_R()
{
printf("create R\n");
RInside r(0, nullptr);
printf("r created\n");

}

int main(int argc, char** argv)
{
std::thread t(create_R);
t.join();
return 0;
}

it seems that RInside can only be created on main thread which is a surprise.

RInside fails to install

> install.packages('RInside')trying URL 'https://cran.microsoft.com/src/contrib/RInside_0.2.16.tar.gz'
Content type 'application/octet-stream' length 80576 bytes (78 KB)==================================================downloaded 78 KB* installing *source* package ‘RInside’ ...
** package ‘RInside’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
/local/jpedrick/R-4.1.2/lib/R/bin/Rscript tools/RInsideAutoloads.r > RInsideAutoloads.h
/local/jpedrick/R-4.1.2/lib/R/bin/Rscript tools/RInsideEnvVars.r   > RInsideEnvVars.h
g++ -std=gnu++14 -I"/local/jpedrick/R-4.1.2/lib/R/include" -DNDEBUG -I. -I../inst/include/ -I'/local/jpedrick/R-4.1.2/lib/R/library/Rcpp/include' -I/usr/local/include   -fpic  -g -O2  -c RInside.cpp -o RInside.o
g++ -std=gnu++14 -I"/local/jpedrick/R-4.1.2/lib/R/include" -DNDEBUG -I. -I../inst/include/ -I'/local/jpedrick/R-4.1.2/lib/R/library/Rcpp/include' -I/usr/local/include   -fpic  -g -O2  -c RInside_C.cpp -o RInside_C.og++ -std=gnu++14 -I"/local/jpedrick/R-4.1.2/lib/R/include" -DNDEBUG -I. -I../inst/include/ -I'/local/jpedrick/R-4.1.2/lib/R/library/Rcpp/include' -I/usr/local/include   -fpic  -g -O2  -c RcppExports.cpp -o RcppExports.og++ -std=gnu++14 -I"/local/jpedrick/R-4.1.2/lib/R/include" -DNDEBUG -I. -I../inst/include/ -I'/local/jpedrick/R-4.1.2/lib/R/library/Rcpp/include' -I/usr/local/include   -fpic  -g -O2  -c compiler.cpp -o compiler.o** R** inst** byte-compile and prepare package for lazy loading** help
*** installing help indices** building package indices
** testing if installed package can be loaded from temporary locationError: package or namespace load failed for ‘RInside’ in library.dynam(lib, package, package.lib):
 shared object ‘RInside.so’ not found
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/local/jpedrick/R-4.1.2/lib/R/library/RInside’
* restoring previous ‘/local/jpedrick/R-4.1.2/lib/R/library/RInside’

The downloaded source packages are in
        ‘/tmp/RtmpiqsE9q/downloaded_packages’
Updating HTML index of packages in '.Library'
Making 'packages.html' ... done
Warning message:
In install.packages("RInside") :
  installation of package ‘RInside’ had non-zero exit status

Installing from GitHub using devtools yields the same result.

Update RNG seeding

Uwe commented in passing that the note on

 Found 'srand', possibly from 'srand' (C)

should be avoidable, and that is correct based on reading of (current) sources of src/main/times.c :

/* For RNG.c, main.c, mkdtemp.c */
attribute_hidden unsigned int TimeToSeed(void)
{
    unsigned int seed, pid = getpid();
#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_REALTIME)
    {
	struct timespec tp;
	clock_gettime(CLOCK_REALTIME, &tp);
	seed = (unsigned int)(((uint_least64_t) tp.tv_nsec << 16) ^ tp.tv_sec);
    }
#elif defined(HAVE_GETTIMEOFDAY)
    {
	struct timeval tv;
	gettimeofday (&tv, NULL);
	seed = (unsigned int)(((uint_least64_t) tv.tv_usec << 16) ^ tv.tv_sec);
    }
#else
    /* C89, so must work */
    seed = (Int32) time(NULL);
#endif
    seed ^= (pid <<16);
    return seed;
}

RInside cannot find Rcpp in non-default library locations at runtime

I have all of my R packages (including Rcpp) stored in a folder in my home directory (on macOS). This isn't a problem when it comes to compiling something using RInside (using your example Makefiles as a model). However when I first tried to run my program I got the following error:

Error: function 'dataptr' not provided by package 'Rcpp'
In addition: Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘Rcpp’
Execution halted

I got around it pretty easily by setting the R_LIBS environment variable, such as when running the program ($ R_LIBS=/path/to/library ./program).

At first I thought the issue was due to me using the prebuilt binaries from CRAN (since to me it looks as if R_LIBS is hard coded into the library at compile time), so I installed the source package -- no luck. I'm not quite sure why, since when I run R -q -e "Sys.getenv()" (where RInside seems to be getting its information from based on RInsideEnvVars.r) my R_LIBS variable is properly showing where my library is (set in ~/.Renviron). Maybe I'm misunderstanding something however.

In any case, I just thought this was a bit of a strange error initially and not something I could find anyone else running into. Perhaps you won't consider it an error with RInside itself however -- I apologize if that's the case.

Segmentation fault with specific compilation flags

Hi,

I am using a .R/Makevars that contains:

CXXFLAGS = -O0 -pipe -g -ansi -fPIC -pedantic -Wall

When I compile RInside with those flags, I get a segmentation fault on the binaries that are generated using RInside. So what I do is temporarily remove .R/Makevars during the compilation of Rinside.

Maybe I am not supposed to compile RInside with those flags, hence the bug report just in case it is useful.

Regards,

Vincent KUBICKI

The code execution cannot proceed beacause R.dll was not found

Hi,

Thanks for the great package.

I want to reproduce the "Hello World" example in the book Seamless R and C++ Integration with Rcpp. Here is the code:

#include <RInside.h>                  

int main(int argc, char *argv[]) {
    RInside R(argc, argv);             
    R["txt"] = "Hello, world!\n";      
    R.parseEvalQ("cat(txt)");      
    exit(0);
}

An interesting thing is that I can get the .exe (My OS is win10 64 bits) and run it by clicking it though the lower right panel in Rstudio.

right

right2

But the error occurs if I use CMD or just double click the .exe file (not through Rstudio).

error

Is there a problem in my .dll path ?

Any suggestions will be appreciated.

JY

Problem with dyn.load R package

Hi.
I have this code in my R package.

void test(){
RInside R(0, NULL);

}
but when I use the function using .Call("test") return's R is already initialized

dyn.load("test.so")
.Call("test")
R is already initialized

Any idea? can I call code's that uses Rinside direct from R?

R is already initialized using pointer of Rinside object

I compile the following simple code in debian buster by

g++ -I/usr/lib/R/site-library/Rcpp/include -I/usr/lib/R/site-library/RInside/include -I/usr/share/R/include/ -L/usr/lib/R/site-library/Rcpp/libs/ -L/usr/lib/R/site-library/RInside/lib/ -lR -lRInside -l:Rcpp.so main01.cpp -o main01
#include <RInside.h>
int main() {
    RInside* rinside;
    rinside = new RInside();
    delete rinside;
    rinside = new RInside();
    delete rinside;
}

When I run the program, I get the console message "R is already initialized". I do not know which is wrong with my code.

Memory error

When I execute, for example, rinside-example0 under valgrind, I have the following:
**Invalid read of size 8** ==26177== at 0x4866054: ??? (in /usr/lib/arm-linux-gnueabihf/libarmmem.so) ==26177== Address 0x74694bc is 12 bytes inside a block of size 19 alloc'd ==26177== at 0x4847568: malloc (vg_replace_malloc.c:299) ==26177== by 0x598C7FB: __add_to_environ (setenv.c:215) ==26177== by 0x4850B67: setenv (vg_replace_strmem.c:2043) ==26177== by 0x56A4953: RInside::initialize(int, char const* const*, bool, bool, bool) (RInside.cpp:137) ==26177== by 0x56A5213: RInside::RInside(int, char const* const*, bool, bool, bool) (RInside.cpp:104) ==26177== by 0x12583: main (rinside_sample0.cpp:14)
I am using package r-cran-rinside_0.2.13-1_armhf.deb (yes it runs on a Raspberry P3B+ under raspbian)

Within a source of mine, I get a SIGSEGV when finishing...

Any idea?
Thanks

Rinterface.h : no such file or directory

Hi,

We (me, and 2 others coders) are trying to embebed RInside and Rcpp to call R functions into a C++ application. This is just a preparatory work to add more functionnalities around the code as the project advances.

First of all, we made a first program to just call an R function with all the needs for the R part of the final program. I place here all the code, but I think a shorter version should be enough as the problem is only occuring in the compilation part.

#include <iostream>
#include <string>

#include "RInside.h"
#include "Rcpp.h"

using std::cout;
using std::endl;
using std::string;

int main(int argc, char *argv[]) {

    SEXP ans;
    RInside R(argc, argv);                      // create an embedded R instance

    if (argc < 4) {
            std::cerr << "Usage: " << argv[0] << " InputFilename  OutputResult RejectIntensity MaxRejectRate" << std::endl;
            return 1;
        }
    std::string input_filepath  = argv[1];
    std::string output_filepath = argv[2];
    std::string reject_intensityStr = argv[3];
    std::string max_reject_rateStr  = argv[4];
    int reject_intensity = atoi(reject_intensityStr.c_str());
    float max_reject_rate= atof(max_reject_rateStr.c_str());

    std::cout << "OK" << input_filepath << " + " << output_filepath << " + " << reject_intensity << " + " << max_reject_rate << "OK" << std::endl;

    R["input_filepath"]   = input_filepath;
    R["output_filepath"]  = output_filepath;
    R["reject_intensity"] = reject_intensity;
    R["max_reject_rate"]  = max_reject_rate;

    std::string createFunction = "TAG.demo = function(input_filepath,output_filepath,reject_intensity,max_reject_rate){"
            "data=read.csv(input_filepath, header=T, sep=\",\");"
            "Y.id  =  data[,1];"
            "Y     =  data[,-1];"
            "Y.new =  (Y+max_reject_rate)*reject_intensity;"
            "TAG.AB_index = apply(Y.new,1,sum);"
            "TAG.Outlier = (TAG.AB_index >= quantile(TAG.AB_index,0.9))*1;"
            "Result = cbind(Y.id,Y.new,TAG.AB_index,TAG.Outlier);"
            "data.names = names(data);"
            "Result.names = c(data.names[1],paste(data.names[-1],\".TAG.Contribution\",sep=\"\"),\"TAG.AB_index\",\"TAG.Outlier\");"
            "names(Result) = Result.names;"
            "write.table(Result,file = output_filepath,row.names = F,col.names = T,sep=\",\",dec=\".\");"
            "system(paste(\"gzip\",output_filepath,sep=\"\"))}";
    R.parseEvalQ(createFunction);

    std::string commande = "TAG.demo(input_filepath, output_filepath, reject_intensity, max_reject_rate)";
    R.parseEval(commande);

    return 0;
}

This code is compiled under Eclipse CDT, using MinGW64 on Windows 7 64bits..

Just to be sure, here is one of the compilation command.

g++ "-IF:\R\R-3.1.2\library\RInside\include" "-IF:\R\R-3.1.2\include" "-IF:\R\R-3.1.2\library\Rcpp\include" -O3 -Wall -c -fmessage-length=0 -m64 -o "src\TagDemo.o" "..\src\TagDemo.cpp"

This compilation works fine. But, as soon as I add the "-std=c++11" to it, there comes the problems

g++ "-IF:\R\R-3.1.2\library\RInside\include" "-IF:\R\R-3.1.2\include" "-IF:\R\R-3.1.2\library\Rcpp\include" -O3 -Wall -c -fmessage-length=0 -m64 -std=c++11 -o "src\TagDemo.o" "..\src\TagDemo.cpp"
In file included from F:\R\R-3.1.2\library\RInside\include/RInside.h:26:0,
from ..\src\TagDemo.cpp:12:
F:\R\R-3.1.2\library\RInside\include/RInsideCommon.h:56:26: fatal error: Rinterface.h: No such file or directory
#include <Rinterface.h>

It seems that, somehow, the macro WIN32 is not defined in the RInsideCommon.h file, but strangely, if I add a manual (and dirty) definition of WIN32 before anything in the source file, the compilation goes.

#ifndef WIN32
#define WIN32 _WIN32
#endif

Is there a better solution for this problem, or maybe a way to use the system defined _WIN32 macro in RInside?

Thanks for your time...

'dataptr' not provided by package 'Rcpp' w/ RInside

hi dirk,

i appreciate this is a common error message, with well documented solutions, but i haven't been able to find a solution to the following.

i've been using RInside with R 3.6.3 across macOS, linux and windows quite successfully in our application (jamovi). i've just tried updating to R 4.0.2, and everything continues to work under macOS and linux, however now i get the 'dataptr' not provided by package 'Rcpp' error under windows.

RInside works, i'm able to evaluate R expressions, however the error takes place when i construct a RawVector
i've tried loading Rcpp via _rInside->parseEvalQNT("base::require('Rcpp')\n");, before constructing the RawVector (the package successfully loads) however the dataptr error persists.

any tips on a good way to move forward here?

with thanks

problem undefined reference to `RInside::operator[]

Hi,

I am trying to compile a C++ application using RCpp and RInside on a R3.1.2 (windows 7).

This application is building correctly on another computer (windows 10), but I need to transfer it on a more reliable one.

During linking, I encounter an undefined reference to 'RInside::operator[]'
It behaves like there is no reference to [] in the RInside dlls.

Here is the build command used linking :
g++ -LG:/Dev/DevEnvCarole/workspace/Exec/R-3.1.2/library/Rcpp/libs/x64 -LG:/Dev/DevEnvCarole/workspace/Exec/R-3.1.2/library/RInside/libs/x64 -LG:/Dev/DevEnvCarole/workspace/Exec/R-3.1.2/bin/x64 -m64 -o Gatw-Encryption.exe "src\Gat.o" -lRcpp -lpsapi -lRInside -lR

and one of the multiple undefined references :
src\Gat.o:Gat.cpp:(.text.startup+0x4af): undefined reference to `RInside::operator[](std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)'

I tried linking towards -lRInside, towards .../libs/x64/RInside.dll, any combinaison of the two, even using libRInside.a (which was a major setback), to no avail.
I spent too many hours on this problem to be able to list all the things I tried, but I am running low on hypothesis and possible corrections.

Do you have an idea that could help me to solve this problem, please?

Thank you very much.

Problem with dyn.load

Hi, i try to create an interfaces for Fortran calling R functions using Rinside, create an shared object and when i use dyn.load to load my library R simply closes.

can not read R["R.version.string"] as string

Hi, I'm trying to read the value of R.version.string using the operator []. As a result an exception is thrown. Instead, with R.parseEval("R.version.string") is OK. Below is the example rinside_sample0.cpp modified showing the issue.

#include <RInside.h>                    // for the embedded R via RInside

int main(int argc, char *argv[]) {

    RInside R(argc, argv);              // create an embedded R instance 

    try {
    std::string versionKO = R["R.version.string"];
    } catch(std::exception& ex) {
    std::cerr << "Exception caught: " << ex.what() << std::endl;
    } catch(...) {
    std::cerr << "Unknown exception caught" << std::endl;
    }

    std::string versionOK = R.parseEval("R.version.string");
    std::cout << versionOK << std::endl;

    R["txt"] = "Hello, world!\n";   // assign a char* (string) to 'txt'

    R.parseEvalQ("cat(txt)");           // eval the init string, ignoring any returns

    exit(0);
}

The example `c_interface/hello.c` doesn't compile on arm64 MacOS

Hi,

I tried to compile the example c_interface/hello.c with the provided c_interface/GNUmakefile on my machine, but it failed with a linker error ld: symbol(s) not found for architecture arm64.

Note that I have also tried to compile and run standard/rinside_sample0.cpp and it worked without any problems.

I am using a M1 MacBook (Big Sur 11.6.1) with apple-clang (12.0.5)

clang --version
Apple clang version 12.0.5 (clang-1205.0.22.11)
Target: arm64-apple-darwin20.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

, R (4.2.2 Platform: aarch64-apple-darwin20), Rcpp (1.0.9) and RInside (0.2.17).

Here is the source code I used:

#include <RInside_C.h>

int main() {
    setupRinC();
    evalQuietlyInR("print('Hello, World')");
    teardownRinC();
}

Here is the makefile I used. The homebrew library path was added since my pcre2 was installed via homebrew:

# Basic R extensions info
R_HOME := $(shell R RHOME)
RLDFLAGS := $(shell $(R_HOME)/bin/R CMD config --ldflags)

# Header files required by Rcpp
RCPPFLAGS := $(shell $(R_HOME)/bin/R CMD config --cppflags)

# Location of RInsideC.h
RINSIDECINCL := $(shell echo 'RInside:::CFlags()' | $(R_HOME)/bin/R --vanilla --slave)

# Location of RInsideC library
RINSIDECLIBS := $(shell echo 'RInside:::LdFlags()'  | $(R_HOME)/bin/R --vanilla --slave)

# C compiler
CC := $(shell $(R_HOME)/bin/R CMD config CC)

# Homebrew library path
BREWFLAGS := $(shell echo -L/opt/homebrew/lib)


FLAGS := $(BREWFLAGS) $(RLDFLAGS) $(RCPPFLAGS) $(RINSIDECLIBS) $(RINSIDECINCL)

hello:
	$(CC) hello.c $(FLAGS) -o hello
	./hello

Here are the messages produced by clang:

Expand
❯ make
clang -arch arm64 hello.c -L/opt/homebrew/lib  -L/opt/R/arm64/lib -F/Library/Frameworks/R.framework/.. -framework R -L/opt/R/arm64/lib -lpcre2-8 -llzma -lbz2 -lz -licucore -ldl -lm -liconv -I/Library/Frameworks/R.framework/Resources/include /Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/library/RInside/lib/libRInside.a -I/Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/library/RInside/include -o hello
Undefined symbols for architecture arm64:
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::rfind(char, unsigned long) const", referenced from:
      Rcpp::exception::record_stack_trace() in libRInside.a(RInside.o)
  "std::__1::__vector_base_common<true>::__throw_length_error() const", referenced from:
      Rcpp::exception::record_stack_trace() in libRInside.a(RInside.o)
  "std::__1::__basic_string_common<true>::__throw_length_error() const", referenced from:
      _passToR in libRInside.a(RInside_C.o)
      _evalInR in libRInside.a(RInside_C.o)
      _evalQuietlyInR in libRInside.a(RInside_C.o)
      RInside::initialize(int, char const* const*, bool, bool, bool) in libRInside.a(RInside.o)
      RInside::init_tempdir() in libRInside.a(RInside.o)
      RInside::autoloads() in libRInside.a(RInside.o)
      RInside::parseEval(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, SEXPREC*&) in libRInside.a(RInside.o)
      ...
  "std::__1::locale::use_facet(std::__1::locale::id&) const", referenced from:
      tinyformat::detail::formatImpl(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, tinyformat::detail::FormatArg const*, int) in libRInside.a(RInside.o)
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in libRInside.a(RInside.o)
  "std::__1::ios_base::getloc() const", referenced from:
      tinyformat::detail::formatImpl(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, tinyformat::detail::FormatArg const*, int) in libRInside.a(RInside.o)
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in libRInside.a(RInside.o)
  "std::logic_error::logic_error(char const*)", referenced from:
      std::length_error::length_error(char const*) in libRInside.a(RInside.o)
  "std::length_error::~length_error()", referenced from:
      std::__1::__throw_length_error(char const*) in libRInside.a(RInside.o)
  "std::runtime_error::runtime_error(char const*)", referenced from:
      RInside::initialize(int, char const* const*, bool, bool, bool) in libRInside.a(RInside.o)
  "std::runtime_error::runtime_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      RInside::initialize(int, char const* const*, bool, bool, bool) in libRInside.a(RInside.o)
      RInside::init_tempdir() in libRInside.a(RInside.o)
      RInside::autoloads() in libRInside.a(RInside.o)
      RInside::parseEvalQ(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside.o)
      RInside::parseEval(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside.o)
  "std::runtime_error::~runtime_error()", referenced from:
      RInside::initialize(int, char const* const*, bool, bool, bool) in libRInside.a(RInside.o)
      RInside::init_tempdir() in libRInside.a(RInside.o)
      RInside::autoloads() in libRInside.a(RInside.o)
      RInside::parseEvalQ(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside.o)
      RInside::parseEval(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(char const*)", referenced from:
      Rcpp::no_such_binding::no_such_binding(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside_C.o)
      Rcpp::binding_is_locked::binding_is_locked(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside_C.o)
      Rcpp::no_such_binding::no_such_binding(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside.o)
      Rcpp::binding_is_locked::binding_is_locked(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside.o)
      Rcpp::binding_not_found::binding_not_found(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside.o)
      Rcpp::eval_error::eval_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(char const*, unsigned long)", referenced from:
      Rcpp::no_such_binding::no_such_binding(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside_C.o)
      Rcpp::binding_is_locked::binding_is_locked(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside_C.o)
      RInside::initialize(int, char const* const*, bool, bool, bool) in libRInside.a(RInside.o)
      RInside::init_tempdir() in libRInside.a(RInside.o)
      RInside::autoloads() in libRInside.a(RInside.o)
      RInside::parseEvalQ(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside.o)
      RInside::parseEval(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside.o)
      ...
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::assign(char const*)", referenced from:
      Rcpp::exception::record_stack_trace() in libRInside.a(RInside.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::resize(unsigned long, char)", referenced from:
      std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::overflow(int) in libRInside.a(RInside.o)
      Rcpp::exception::record_stack_trace() in libRInside.a(RInside.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::replace(unsigned long, unsigned long, char const*, unsigned long)", referenced from:
      Rcpp::exception::record_stack_trace() in libRInside.a(RInside.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::reserve(unsigned long)", referenced from:
      MemBuf::MemBuf(int) in libRInside.a(MemBuf.o)
      MemBuf::MemBuf(int) in libRInside.a(MemBuf.o)
      MemBuf::resize() in libRInside.a(MemBuf.o)
      MemBuf::add(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(MemBuf.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::push_back(char)", referenced from:
      std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::overflow(int) in libRInside.a(RInside.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      RInside::operator[](std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside.o)
      Rcpp::exception::record_stack_trace() in libRInside.a(RInside.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long, unsigned long, std::__1::allocator<char> const&)", referenced from:
      Rcpp::exception::record_stack_trace() in libRInside.a(RInside.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()", referenced from:
      Rcpp::exception::record_stack_trace() in libRInside.a(RInside.o)
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::write(char const*, long)", referenced from:
      tinyformat::detail::formatImpl(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, tinyformat::detail::FormatArg const*, int) in libRInside.a(RInside.o)
      void tinyformat::detail::formatTruncated<int>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int const&, int) in libRInside.a(RInside.o)
      void tinyformat::detail::formatTruncated<long>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, long const&, int) in libRInside.a(RInside.o)
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::sentry(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)", referenced from:
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in libRInside.a(RInside.o)
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::~sentry()", referenced from:
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in libRInside.a(RInside.o)
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::~basic_ostream()", referenced from:
      construction vtable for std::__1::basic_ostream<char, Rcpp::Rostream<true>::char_traits<char> >-in-Rcpp::Rostream<true> in libRInside.a(RInside_C.o)
      construction vtable for std::__1::basic_ostream<char, Rcpp::Rostream<false>::char_traits<char> >-in-Rcpp::Rostream<false> in libRInside.a(RInside_C.o)
      construction vtable for std::__1::basic_ostream<char, Rcpp::Rostream<true>::char_traits<char> >-in-Rcpp::Rostream<true> in libRInside.a(RInside.o)
      construction vtable for std::__1::basic_ostream<char, Rcpp::Rostream<false>::char_traits<char> >-in-Rcpp::Rostream<false> in libRInside.a(RInside.o)
      construction vtable for std::__1::basic_ostream<char, std::__1::char_traits<char> >-in-std::__1::basic_ostringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libRInside.a(RInside.o)
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::~basic_ostream()", referenced from:
      construction vtable for std::__1::basic_ostream<char, Rcpp::Rostream<true>::char_traits<char> >-in-Rcpp::Rostream<true> in libRInside.a(RInside_C.o)
      construction vtable for std::__1::basic_ostream<char, Rcpp::Rostream<false>::char_traits<char> >-in-Rcpp::Rostream<false> in libRInside.a(RInside_C.o)
      construction vtable for std::__1::basic_ostream<char, Rcpp::Rostream<true>::char_traits<char> >-in-Rcpp::Rostream<true> in libRInside.a(RInside.o)
      construction vtable for std::__1::basic_ostream<char, Rcpp::Rostream<false>::char_traits<char> >-in-Rcpp::Rostream<false> in libRInside.a(RInside.o)
      construction vtable for std::__1::basic_ostream<char, std::__1::char_traits<char> >-in-std::__1::basic_ostringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libRInside.a(RInside.o)
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::~basic_ostream()", referenced from:
      Rcpp::Rostream<true>::~Rostream() in libRInside.a(RInside_C.o)
      Rcpp::Rostream<false>::~Rostream() in libRInside.a(RInside_C.o)
      virtual thunk to Rcpp::Rostream<true>::~Rostream() in libRInside.a(RInside_C.o)
      Rcpp::Rostream<true>::~Rostream() in libRInside.a(RInside_C.o)
      virtual thunk to Rcpp::Rostream<true>::~Rostream() in libRInside.a(RInside_C.o)
      virtual thunk to Rcpp::Rostream<false>::~Rostream() in libRInside.a(RInside_C.o)
      Rcpp::Rostream<false>::~Rostream() in libRInside.a(RInside_C.o)
      ...
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(int)", referenced from:
      void tinyformat::detail::FormatArg::formatImpl<int>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, char const*, int, void const*) in libRInside.a(RInside.o)
      void tinyformat::detail::formatTruncated<int>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int const&, int) in libRInside.a(RInside.o)
  "std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(long)", referenced from:
      void tinyformat::detail::FormatArg::formatImpl<long>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, char const*, int, void const*) in libRInside.a(RInside.o)
      void tinyformat::detail::formatTruncated<long>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, long const&, int) in libRInside.a(RInside.o)
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::sync()", referenced from:
      vtable for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libRInside.a(RInside.o)
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::imbue(std::__1::locale const&)", referenced from:
      vtable for Rcpp::Rstreambuf<true> in libRInside.a(RInside_C.o)
      vtable for Rcpp::Rstreambuf<false> in libRInside.a(RInside_C.o)
      vtable for Rcpp::Rstreambuf<true> in libRInside.a(RInside.o)
      vtable for Rcpp::Rstreambuf<false> in libRInside.a(RInside.o)
      vtable for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libRInside.a(RInside.o)
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::uflow()", referenced from:
      vtable for Rcpp::Rstreambuf<true> in libRInside.a(RInside_C.o)
      vtable for Rcpp::Rstreambuf<false> in libRInside.a(RInside_C.o)
      vtable for Rcpp::Rstreambuf<true> in libRInside.a(RInside.o)
      vtable for Rcpp::Rstreambuf<false> in libRInside.a(RInside.o)
      vtable for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libRInside.a(RInside.o)
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::setbuf(char*, long)", referenced from:
      vtable for Rcpp::Rstreambuf<true> in libRInside.a(RInside_C.o)
      vtable for Rcpp::Rstreambuf<false> in libRInside.a(RInside_C.o)
      vtable for Rcpp::Rstreambuf<true> in libRInside.a(RInside.o)
      vtable for Rcpp::Rstreambuf<false> in libRInside.a(RInside.o)
      vtable for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libRInside.a(RInside.o)
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::xsgetn(char*, long)", referenced from:
      vtable for Rcpp::Rstreambuf<true> in libRInside.a(RInside_C.o)
      vtable for Rcpp::Rstreambuf<false> in libRInside.a(RInside_C.o)
      vtable for Rcpp::Rstreambuf<true> in libRInside.a(RInside.o)
      vtable for Rcpp::Rstreambuf<false> in libRInside.a(RInside.o)
      vtable for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libRInside.a(RInside.o)
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::xsputn(char const*, long)", referenced from:
      vtable for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libRInside.a(RInside.o)
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::seekoff(long long, std::__1::ios_base::seekdir, unsigned int)", referenced from:
      vtable for Rcpp::Rstreambuf<true> in libRInside.a(RInside_C.o)
      vtable for Rcpp::Rstreambuf<false> in libRInside.a(RInside_C.o)
      vtable for Rcpp::Rstreambuf<true> in libRInside.a(RInside.o)
      vtable for Rcpp::Rstreambuf<false> in libRInside.a(RInside.o)
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::seekpos(std::__1::fpos<__mbstate_t>, unsigned int)", referenced from:
      vtable for Rcpp::Rstreambuf<true> in libRInside.a(RInside_C.o)
      vtable for Rcpp::Rstreambuf<false> in libRInside.a(RInside_C.o)
      vtable for Rcpp::Rstreambuf<true> in libRInside.a(RInside.o)
      vtable for Rcpp::Rstreambuf<false> in libRInside.a(RInside.o)
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::pbackfail(int)", referenced from:
      vtable for Rcpp::Rstreambuf<true> in libRInside.a(RInside_C.o)
      vtable for Rcpp::Rstreambuf<false> in libRInside.a(RInside_C.o)
      vtable for Rcpp::Rstreambuf<true> in libRInside.a(RInside.o)
      vtable for Rcpp::Rstreambuf<false> in libRInside.a(RInside.o)
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::showmanyc()", referenced from:
      vtable for Rcpp::Rstreambuf<true> in libRInside.a(RInside_C.o)
      vtable for Rcpp::Rstreambuf<false> in libRInside.a(RInside_C.o)
      vtable for Rcpp::Rstreambuf<true> in libRInside.a(RInside.o)
      vtable for Rcpp::Rstreambuf<false> in libRInside.a(RInside.o)
      vtable for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libRInside.a(RInside.o)
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::underflow()", referenced from:
      vtable for Rcpp::Rstreambuf<true> in libRInside.a(RInside_C.o)
      vtable for Rcpp::Rstreambuf<false> in libRInside.a(RInside_C.o)
      vtable for Rcpp::Rstreambuf<true> in libRInside.a(RInside.o)
      vtable for Rcpp::Rstreambuf<false> in libRInside.a(RInside.o)
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::basic_streambuf()", referenced from:
      __GLOBAL__sub_I_RInside_C.cpp in libRInside.a(RInside_C.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > tinyformat::format<int, long>(char const*, int const&, long const&) in libRInside.a(RInside.o)
      tinyformat::detail::formatImpl(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, tinyformat::detail::FormatArg const*, int) in libRInside.a(RInside.o)
      void tinyformat::detail::formatTruncated<int>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int const&, int) in libRInside.a(RInside.o)
      void tinyformat::detail::formatTruncated<long>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, long const&, int) in libRInside.a(RInside.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > tinyformat::format<>(char const*) in libRInside.a(RInside.o)
      __GLOBAL__sub_I_RInside.cpp in libRInside.a(RInside.o)
      ...
  "std::__1::basic_streambuf<char, std::__1::char_traits<char> >::~basic_streambuf()", referenced from:
      Rcpp::Rostream<true>::~Rostream() in libRInside.a(RInside_C.o)
      Rcpp::Rostream<false>::~Rostream() in libRInside.a(RInside_C.o)
      virtual thunk to Rcpp::Rostream<true>::~Rostream() in libRInside.a(RInside_C.o)
      Rcpp::Rostream<true>::~Rostream() in libRInside.a(RInside_C.o)
      virtual thunk to Rcpp::Rostream<true>::~Rostream() in libRInside.a(RInside_C.o)
      Rcpp::Rstreambuf<true>::~Rstreambuf() in libRInside.a(RInside_C.o)
      virtual thunk to Rcpp::Rostream<false>::~Rostream() in libRInside.a(RInside_C.o)
      ...
  "std::__1::ctype<char>::id", referenced from:
      tinyformat::detail::formatImpl(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, tinyformat::detail::FormatArg const*, int) in libRInside.a(RInside.o)
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in libRInside.a(RInside.o)
  "std::__1::locale::~locale()", referenced from:
      tinyformat::detail::formatImpl(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, tinyformat::detail::FormatArg const*, int) in libRInside.a(RInside.o)
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in libRInside.a(RInside.o)
  "std::__1::ios_base::__set_badbit_and_consider_rethrow()", referenced from:
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in libRInside.a(RInside.o)
  "std::__1::ios_base::init(void*)", referenced from:
      __GLOBAL__sub_I_RInside_C.cpp in libRInside.a(RInside_C.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > tinyformat::format<int, long>(char const*, int const&, long const&) in libRInside.a(RInside.o)
      tinyformat::detail::formatImpl(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, tinyformat::detail::FormatArg const*, int) in libRInside.a(RInside.o)
      void tinyformat::detail::formatTruncated<int>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int const&, int) in libRInside.a(RInside.o)
      void tinyformat::detail::formatTruncated<long>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, long const&, int) in libRInside.a(RInside.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > tinyformat::format<>(char const*) in libRInside.a(RInside.o)
      __GLOBAL__sub_I_RInside.cpp in libRInside.a(RInside.o)
      ...
  "std::__1::ios_base::clear(unsigned int)", referenced from:
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in libRInside.a(RInside.o)
  "std::__1::basic_ios<char, std::__1::char_traits<char> >::copyfmt(std::__1::basic_ios<char, std::__1::char_traits<char> > const&)", referenced from:
      tinyformat::detail::formatImpl(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, tinyformat::detail::FormatArg const*, int) in libRInside.a(RInside.o)
  "std::__1::basic_ios<char, std::__1::char_traits<char> >::~basic_ios()", referenced from:
      Rcpp::Rostream<true>::~Rostream() in libRInside.a(RInside_C.o)
      Rcpp::Rostream<false>::~Rostream() in libRInside.a(RInside_C.o)
      virtual thunk to Rcpp::Rostream<true>::~Rostream() in libRInside.a(RInside_C.o)
      Rcpp::Rostream<true>::~Rostream() in libRInside.a(RInside_C.o)
      virtual thunk to Rcpp::Rostream<true>::~Rostream() in libRInside.a(RInside_C.o)
      virtual thunk to Rcpp::Rostream<false>::~Rostream() in libRInside.a(RInside_C.o)
      Rcpp::Rostream<false>::~Rostream() in libRInside.a(RInside_C.o)
      ...
  "std::exception::~exception()", referenced from:
      Rcpp::binding_is_locked::~binding_is_locked() in libRInside.a(RInside_C.o)
      Rcpp::no_such_binding::~no_such_binding() in libRInside.a(RInside_C.o)
      Rcpp::no_such_binding::no_such_binding(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside_C.o)
      Rcpp::no_such_binding::~no_such_binding() in libRInside.a(RInside_C.o)
      Rcpp::binding_is_locked::binding_is_locked(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside_C.o)
      Rcpp::binding_is_locked::~binding_is_locked() in libRInside.a(RInside_C.o)
      Rcpp::binding_is_locked::~binding_is_locked() in libRInside.a(RInside.o)
      ...
  "std::terminate()", referenced from:
      ___clang_call_terminate in libRInside.a(RInside_C.o)
      ___clang_call_terminate in libRInside.a(RInside.o)
  "typeinfo for std::__1::basic_ostream<char, std::__1::char_traits<char> >", referenced from:
      construction vtable for std::__1::basic_ostream<char, Rcpp::Rostream<true>::char_traits<char> >-in-Rcpp::Rostream<true> in libRInside.a(RInside_C.o)
      typeinfo for Rcpp::Rostream<true> in libRInside.a(RInside_C.o)
      construction vtable for std::__1::basic_ostream<char, Rcpp::Rostream<false>::char_traits<char> >-in-Rcpp::Rostream<false> in libRInside.a(RInside_C.o)
      typeinfo for Rcpp::Rostream<false> in libRInside.a(RInside_C.o)
      construction vtable for std::__1::basic_ostream<char, Rcpp::Rostream<true>::char_traits<char> >-in-Rcpp::Rostream<true> in libRInside.a(RInside.o)
      typeinfo for Rcpp::Rostream<true> in libRInside.a(RInside.o)
      construction vtable for std::__1::basic_ostream<char, Rcpp::Rostream<false>::char_traits<char> >-in-Rcpp::Rostream<false> in libRInside.a(RInside.o)
      ...
  "typeinfo for std::__1::basic_streambuf<char, std::__1::char_traits<char> >", referenced from:
      typeinfo for Rcpp::Rstreambuf<true> in libRInside.a(RInside_C.o)
      typeinfo for Rcpp::Rstreambuf<false> in libRInside.a(RInside_C.o)
      typeinfo for Rcpp::Rstreambuf<true> in libRInside.a(RInside.o)
      typeinfo for Rcpp::Rstreambuf<false> in libRInside.a(RInside.o)
      typeinfo for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libRInside.a(RInside.o)
  "typeinfo for std::length_error", referenced from:
      std::__1::__throw_length_error(char const*) in libRInside.a(RInside.o)
  "typeinfo for std::runtime_error", referenced from:
      RInside::initialize(int, char const* const*, bool, bool, bool) in libRInside.a(RInside.o)
      RInside::init_tempdir() in libRInside.a(RInside.o)
      RInside::autoloads() in libRInside.a(RInside.o)
      RInside::parseEvalQ(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside.o)
      RInside::parseEval(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside.o)
  "typeinfo for std::exception", referenced from:
      typeinfo for Rcpp::binding_is_locked in libRInside.a(RInside_C.o)
      typeinfo for Rcpp::no_such_binding in libRInside.a(RInside_C.o)
      GCC_except_table11 in libRInside.a(RInside.o)
      typeinfo for Rcpp::binding_is_locked in libRInside.a(RInside.o)
      typeinfo for Rcpp::no_such_binding in libRInside.a(RInside.o)
      typeinfo for Rcpp::binding_not_found in libRInside.a(RInside.o)
      typeinfo for Rcpp::index_out_of_bounds in libRInside.a(RInside.o)
      ...
  "vtable for __cxxabiv1::__class_type_info", referenced from:
      typeinfo for Rcpp::internal::InterruptedException in libRInside.a(RInside.o)
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for __cxxabiv1::__si_class_type_info", referenced from:
      typeinfo for Rcpp::Rostream<true> in libRInside.a(RInside_C.o)
      typeinfo for Rcpp::Rostream<false> in libRInside.a(RInside_C.o)
      typeinfo for Rcpp::Rstreambuf<true> in libRInside.a(RInside_C.o)
      typeinfo for Rcpp::Rstreambuf<false> in libRInside.a(RInside_C.o)
      typeinfo for Rcpp::binding_is_locked in libRInside.a(RInside_C.o)
      typeinfo for Rcpp::no_such_binding in libRInside.a(RInside_C.o)
      typeinfo for Rcpp::Rostream<true> in libRInside.a(RInside.o)
      ...
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for std::length_error", referenced from:
      std::length_error::length_error(char const*) in libRInside.a(RInside.o)
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "virtual thunk to std::__1::basic_ostream<char, std::__1::char_traits<char> >::~basic_ostream()", referenced from:
      construction vtable for std::__1::basic_ostream<char, Rcpp::Rostream<true>::char_traits<char> >-in-Rcpp::Rostream<true> in libRInside.a(RInside_C.o)
      construction vtable for std::__1::basic_ostream<char, Rcpp::Rostream<false>::char_traits<char> >-in-Rcpp::Rostream<false> in libRInside.a(RInside_C.o)
      construction vtable for std::__1::basic_ostream<char, Rcpp::Rostream<true>::char_traits<char> >-in-Rcpp::Rostream<true> in libRInside.a(RInside.o)
      construction vtable for std::__1::basic_ostream<char, Rcpp::Rostream<false>::char_traits<char> >-in-Rcpp::Rostream<false> in libRInside.a(RInside.o)
      construction vtable for std::__1::basic_ostream<char, std::__1::char_traits<char> >-in-std::__1::basic_ostringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libRInside.a(RInside.o)
  "virtual thunk to std::__1::basic_ostream<char, std::__1::char_traits<char> >::~basic_ostream()", referenced from:
      construction vtable for std::__1::basic_ostream<char, Rcpp::Rostream<true>::char_traits<char> >-in-Rcpp::Rostream<true> in libRInside.a(RInside_C.o)
      construction vtable for std::__1::basic_ostream<char, Rcpp::Rostream<false>::char_traits<char> >-in-Rcpp::Rostream<false> in libRInside.a(RInside_C.o)
      construction vtable for std::__1::basic_ostream<char, Rcpp::Rostream<true>::char_traits<char> >-in-Rcpp::Rostream<true> in libRInside.a(RInside.o)
      construction vtable for std::__1::basic_ostream<char, Rcpp::Rostream<false>::char_traits<char> >-in-Rcpp::Rostream<false> in libRInside.a(RInside.o)
      construction vtable for std::__1::basic_ostream<char, std::__1::char_traits<char> >-in-std::__1::basic_ostringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libRInside.a(RInside.o)
  "operator delete(void*)", referenced from:
      _setupRinC in libRInside.a(RInside_C.o)
      _passToR in libRInside.a(RInside_C.o)
      _evalInR in libRInside.a(RInside_C.o)
      _evalQuietlyInR in libRInside.a(RInside_C.o)
      _teardownRinC in libRInside.a(RInside_C.o)
      Rcpp::Rostream<true>::~Rostream() in libRInside.a(RInside_C.o)
      virtual thunk to Rcpp::Rostream<true>::~Rostream() in libRInside.a(RInside_C.o)
      ...
  "operator new(unsigned long)", referenced from:
      _setupRinC in libRInside.a(RInside_C.o)
      _passToR in libRInside.a(RInside_C.o)
      _evalInR in libRInside.a(RInside_C.o)
      _evalQuietlyInR in libRInside.a(RInside_C.o)
      RInside::initialize(int, char const* const*, bool, bool, bool) in libRInside.a(RInside.o)
      RInside::init_tempdir() in libRInside.a(RInside.o)
      RInside::autoloads() in libRInside.a(RInside.o)
      ...
  "___cxa_allocate_exception", referenced from:
      Rcpp::Environment_Impl<Rcpp::PreserveStorage>::assign(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, SEXPREC*) const in libRInside.a(RInside_C.o)
      Rcpp::Environment_Impl<Rcpp::PreserveStorage>::bindingIsLocked(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const in libRInside.a(RInside_C.o)
      RInside::initialize(int, char const* const*, bool, bool, bool) in libRInside.a(RInside.o)
      RInside::init_tempdir() in libRInside.a(RInside.o)
      RInside::autoloads() in libRInside.a(RInside.o)
      Rcpp::Environment_Impl<Rcpp::PreserveStorage>::find(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const in libRInside.a(RInside.o)
      RInside::parseEvalQ(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside.o)
      ...
  "___cxa_begin_catch", referenced from:
      ___clang_call_terminate in libRInside.a(RInside_C.o)
      ___clang_call_terminate in libRInside.a(RInside.o)
      RInside::autoloads() in libRInside.a(RInside.o)
      std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::overflow(int) in libRInside.a(RInside.o)
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in libRInside.a(RInside.o)
  "___cxa_call_unexpected", referenced from:
      Rcpp::no_such_binding::no_such_binding(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside_C.o)
      Rcpp::binding_is_locked::binding_is_locked(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside_C.o)
      Rcpp::no_such_binding::no_such_binding(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside.o)
      Rcpp::binding_is_locked::binding_is_locked(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside.o)
      Rcpp::binding_not_found::binding_not_found(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside.o)
      Rcpp::DottedPairProxyPolicy<Rcpp::Language_Impl<Rcpp::PreserveStorage> >::DottedPairProxy::DottedPairProxy(Rcpp::Language_Impl<Rcpp::PreserveStorage>&, int) in libRInside.a(RInside.o)
      Rcpp::eval_error::eval_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside.o)
      ...
  "___cxa_end_catch", referenced from:
      RInside::autoloads() in libRInside.a(RInside.o)
      std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::overflow(int) in libRInside.a(RInside.o)
      std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in libRInside.a(RInside.o)
  "___cxa_free_exception", referenced from:
      RInside::initialize(int, char const* const*, bool, bool, bool) in libRInside.a(RInside.o)
      RInside::init_tempdir() in libRInside.a(RInside.o)
      RInside::autoloads() in libRInside.a(RInside.o)
      RInside::parseEvalQ(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside.o)
      RInside::parseEval(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside.o)
      std::__1::__throw_length_error(char const*) in libRInside.a(RInside.o)
      Rcpp::DottedPairProxyPolicy<Rcpp::Language_Impl<Rcpp::PreserveStorage> >::DottedPairProxy::DottedPairProxy(Rcpp::Language_Impl<Rcpp::PreserveStorage>&, int) in libRInside.a(RInside.o)
      ...
  "___cxa_guard_abort", referenced from:
      _evalInR in libRInside.a(RInside_C.o)
      RInside::autoloads() in libRInside.a(RInside.o)
      RInside::Proxy::Proxy(SEXPREC*) in libRInside.a(RInside.o)
      Rcpp::PreserveStorage<Rcpp::Environment_Impl<Rcpp::PreserveStorage> >::~PreserveStorage() in libRInside.a(RInside.o)
      Rcpp::PreserveStorage<Rcpp::Vector<16, Rcpp::PreserveStorage> >::~PreserveStorage() in libRInside.a(RInside.o)
      Rcpp::PreserveStorage<Rcpp::Function_Impl<Rcpp::PreserveStorage> >::~PreserveStorage() in libRInside.a(RInside.o)
      Rcpp::PreserveStorage<Rcpp::Language_Impl<Rcpp::PreserveStorage> >::~PreserveStorage() in libRInside.a(RInside.o)
      ...
  "___cxa_guard_acquire", referenced from:
      _evalInR in libRInside.a(RInside_C.o)
      RInside::autoloads() in libRInside.a(RInside.o)
      RInside::Proxy::Proxy(SEXPREC*) in libRInside.a(RInside.o)
      Rcpp::PreserveStorage<Rcpp::Environment_Impl<Rcpp::PreserveStorage> >::~PreserveStorage() in libRInside.a(RInside.o)
      Rcpp::PreserveStorage<Rcpp::Vector<16, Rcpp::PreserveStorage> >::~PreserveStorage() in libRInside.a(RInside.o)
      Rcpp::PreserveStorage<Rcpp::Function_Impl<Rcpp::PreserveStorage> >::~PreserveStorage() in libRInside.a(RInside.o)
      Rcpp::PreserveStorage<Rcpp::Language_Impl<Rcpp::PreserveStorage> >::~PreserveStorage() in libRInside.a(RInside.o)
      ...
  "___cxa_guard_release", referenced from:
      _evalInR in libRInside.a(RInside_C.o)
      RInside::autoloads() in libRInside.a(RInside.o)
      RInside::Proxy::Proxy(SEXPREC*) in libRInside.a(RInside.o)
      Rcpp::PreserveStorage<Rcpp::Environment_Impl<Rcpp::PreserveStorage> >::~PreserveStorage() in libRInside.a(RInside.o)
      Rcpp::PreserveStorage<Rcpp::Vector<16, Rcpp::PreserveStorage> >::~PreserveStorage() in libRInside.a(RInside.o)
      Rcpp::PreserveStorage<Rcpp::Function_Impl<Rcpp::PreserveStorage> >::~PreserveStorage() in libRInside.a(RInside.o)
      Rcpp::PreserveStorage<Rcpp::Language_Impl<Rcpp::PreserveStorage> >::~PreserveStorage() in libRInside.a(RInside.o)
      ...
  "___cxa_throw", referenced from:
      Rcpp::Environment_Impl<Rcpp::PreserveStorage>::assign(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, SEXPREC*) const in libRInside.a(RInside_C.o)
      Rcpp::Environment_Impl<Rcpp::PreserveStorage>::bindingIsLocked(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const in libRInside.a(RInside_C.o)
      RInside::initialize(int, char const* const*, bool, bool, bool) in libRInside.a(RInside.o)
      RInside::init_tempdir() in libRInside.a(RInside.o)
      RInside::autoloads() in libRInside.a(RInside.o)
      Rcpp::Environment_Impl<Rcpp::PreserveStorage>::find(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const in libRInside.a(RInside.o)
      RInside::parseEvalQ(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside.o)
      ...
  "___gxx_personality_v0", referenced from:
      _setupRinC in libRInside.a(RInside_C.o)
      _passToR in libRInside.a(RInside_C.o)
      _evalInR in libRInside.a(RInside_C.o)
      _evalQuietlyInR in libRInside.a(RInside_C.o)
      Rcpp::no_such_binding::no_such_binding(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside_C.o)
      Rcpp::binding_is_locked::binding_is_locked(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libRInside.a(RInside_C.o)
      __GLOBAL__sub_I_RInside_C.cpp in libRInside.a(RInside_C.o)
      ...
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [hello] Error 1

RInside can fail to run if the user has a non-trivial .Rprofile

I've seen this error in a few of the old mailing list and bumped into it while testing RInside. The error message I get on running any of the examples is:

Error: cons memory exhausted (limit reached?)
Execution halted

The Rf_initEmbeddedR(R_argc, (char**)R_argv) call seems to complete successfully, but R dies on the first Rf_eval call:

Rf_eval(Rf_lang2(suppressMessagesSymbol, Rf_lang2(requireSymbol, Rf_mkString("Rcpp"))), R_GlobalEnv);

The error goes away if I

  1. Explicitly set --vanilla in the run arguments,
  2. Empty out my .Rprofile.

Is there any explicit documentation on how RInside might play nicely (or not nicely) if the user has a .Rprofile? Does an embedded R session come started with less available nodes / memory and hence become more likely to fail in such a situation (if the .Rprofile tries to load up that R session with stuff)?

> sessionInfo()
R Under development (unstable) (2014-02-01 r64910)
Platform: x86_64-apple-darwin13.0.0 (64-bit)

locale:
[1] en_CA.UTF-8/en_CA.UTF-8/en_CA.UTF-8/C/en_CA.UTF-8/en_CA.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     
> clang -v
kevinushey@Kevin-MBP:~$ clang -v
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.0.0
Thread model: posix

64bit vs 32bit RInside on windows 64bit machine

I am writing a C++ program that uses RInside on Windows 7 64bit or 64bit servers. Everything works fine on small datasets, but fails on large datasets. For example, the amount of memory available is 16Gb on my PC (windows 7), but RInside is reporting a 2047Mb limit (32 bit). Can I explicitly within my C++ code invoke an instance of RInside and specify the maximum amount of memory available? Or do I need to tweak compilation settings for RInside? The former is preferred over the latter for workflow automation for external users.

We are moving to linux but it is a gradual process due to the fact that we have explicit windows executables as part of a workflow.

Thank you in advance
Eugene

Example session info is as follows:

sessionInfo()
R version 3.3.0 (2016-05-03)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

locale:
[1] LC_COLLATE=English_Australia.1252 LC_CTYPE=English_Australia.1252
[3] LC_MONETARY=English_Australia.1252 LC_NUMERIC=C
[5] LC_TIME=English_Australia.1252

attached base packages:
[1] stats graphics grDevices utils datasets methods base

other attached packages:
[1] RInside_0.2.13 BiocInstaller_1.22.1

loaded via a namespace (and not attached):
[1] tools_3.3.0 Rcpp_0.12.4.5

R -> C++ (via Rcpp) -> R (via RInside) - not allowed ? getting "R is already initialized"

I have a project where the top level is R which calls C++ code (using Rcpp). (This works great.)
As the C++ side has grown I now have a situation where it would be convenient within an existing C++ function to call an R function to perform a calculation. I tried using RInside but the first call to RInside fails with the message "R is already initialized". (I can reproduce this on a tiny example.)
Is this level of R / C++ / R nesting allowed somehow? Or does one have to return from C++ to the R caller to invoke R functions.
Thanks for any guidance.

Writing a CUDA kernel in R ?

I am working on a Data Science project which needs CUDA at the back-end. I want to know whether I can run an R script inside the CUDA kernel.

I have some restrictions of not changing the pre-defined algorithm written in R programming. Can I utilise the GPU without changing the R code(algorithm).

Here is my code that needs GPU acceleration using R:
`**#loading Necessary Library Packages
library(minet)
library(igraph)
library(d3r)
library(jsonlite)
library(stringr)

#operation on main data - Aracne
data = read.table(file = read_file_path, sep = '\t', header = TRUE)
col_name_ori = colnames(data[,-1])
edg_count=0
mim_main <- build.mim(data,estimator="spearman",disc ="none",nbins = sqrt(NROW(dataset)))
result_aracne_main <-aracne(mim_main,eps=0)

result_aracne_main <- result_aracne_main[,-1][-1,]
for(row in 1:nrow(result_aracne_main)){
for(col in 1:ncol(result_aracne_main)){
if(result_aracne_main[row,col]>0){
result_aracne_main[row,col] <- 1
edg_count <- edg_count+1
}
else{
result_aracne_main[row,col]<-0
}
}
}**`

Including installed R packages

Hi, sorry if I'm missing something obvious but I can't see how to install packages to embed as well.

What I'm trying to do is embed within an AWS lambda function. Are there particular steps I need to take to include installed R packages?

Package installation issue

Hi,
I had tried to run install.packages("RInside") from within my RStudio session and ran into all kinds of warnings and errors:

In file included from RInside.cpp:121:0:
RInsideEnvVars.h:22:33: warning: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wliteral-suffix]
         "R_SESSION_INITIALIZED","PID=24376:NAME="reticulate"",
                                 ^
RInsideEnvVars.h: In member function ‘void RInside::initialize(int, const char* const*, bool, bool, bool)’:
RInsideEnvVars.h:22:50: error: expected ‘}’ before ‘reticulate’
         "R_SESSION_INITIALIZED","PID=24376:NAME="reticulate"",
                                                  ^
RInsideEnvVars.h:22:50: error: expected ‘,’ or ‘;’ before ‘reticulate’
RInside.cpp: At global scope:
RInside.cpp:135:5: error: expected unqualified-id before ‘for’
     for (int i = 0; R_VARS[i] != NULL; i+= 2) {
     ^
[...]

I noticed that the issue was caused by Sys.getenv() returning an environment variable which contains quotes itself:
R_SESSION_INITIALIZED PID=24376:NAME="reticulate"
which gets written as
"R_SESSION_INITIALIZED","PID=24376:NAME="reticulate"",
into RInsideEnvVars.h
Apparently something used by reticulate/rpy2.

I ended up editing src/tools/RInsideEnvVars.r and added the problematic environment variable to the ExcludeVars as follows:

ExcludeVars <- c("R_SESSION_TMPDIR", "R_HISTFILE", "R_LIBRARY_DIR",
                 "R_LIBS", "R_PACKAGE_DIR", "R_SESSION_INITIALIZED")

With this edit, I was able to build the package successfully.

Actually, I was also able to build it from command line R, rather than Rstudio, without my edit.

Maybe environment variables containing quotes could be handled better in general. Or there could be a hint somewhere for the installation.

Qt example doesn't compile with Qt6

As even Qt5 is outdated by now and the demo is written for Qt4 it is also time to update the demo in any case.

Ive already got it to work locally and I think this can also help other people out so Ill open a PR .

unprovided class name

Under MacOS, I have successfully built all examples under the "standard" directory, and I am now trying to build the example "sandboxed_server". It fails with this error:

In file included from server/rinsideserver.cpp:9:
In file included from server/rinsideserver.h:10:
server/rinside_callbacks.h:1:33: error: expected class name
class RInsideCallbacks : public Callbacks {
                                ^
1 error generated.

Is there something missing in that file?

rinside gives compiler warnings when compiling with G++ and -Weffc++ flag

When compiling with GCC 4.9.2 under Lubuntu 15.04 and the -Weffc++ warning flag (which adds the advices given in Scott Meyers' book 'Effective C++') many warnings pop up.

Example warnings are:

  • unused parameters
  • member variables that should be initialized (probably to zero) in the initializer list
  • classes having pointer data members, yet the copy constructor and assignment operator are not either forbidden or written

I do volunteer to do the grunt work to add these (rather trivial) fixes (I think RInside is great!) as it makes me keep compiling at the highest warning level.

malloc: *** error for object 0x7fffb262e9f0: pointer being freed was not allocated

I've encountered this issue upon exit of an RInside program. The issue is resolved with the top-of-tree branch of RInside, and I am wondering if this update (0.2.14 -> 0.2.14.1) will make it to CRAN sometime soon.

Thanks!

My sessionInfo and steps to reproduce are below.

> sessionInfo()
R version 3.4.3 (2017-11-30)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Sierra 10.12.5

Matrix products: default
BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] compiler_3.4.3

steps:

  1. compile and run any of the example RInside programs from inst/examples/standard

Env var issue on Windows

Odd issue on Windows. Usually RInside builds fine, but when I run cmd checkon my build server it fails because the auto generated RInsideEnvVars.h contains linebreaks (example). Any guess to what's going wrong here?

* installing *source* package 'RInside' ...
** package 'RInside' successfully unpacked and MD5 sums checked
** libs
C:/PROGRA~1/R/R-EXPE~1/bin/x64/Rscript.exe tools/RInsideAutoloads.r > RInsideAutoloads.h
C:/PROGRA~1/R/R-EXPE~1/bin/x64/Rscript.exe tools/RInsideEnvVars.r   > RInsideEnvVars.h
C:/Rtools/mingw64/bin/g++  -I"C:/PROGRA~1/R/R-EXPE~1/include" -DNDEBUG -I. -I../inst/include/   -I"D:/rcpp_lib/Rcpp/include" -I"C:/Rbuild/R-devel-win64/extsoft/include"     -O2 -Wall  -mtune=core2 -c MemBuf.cpp -o MemBuf.o
C:/Rtools/mingw64/bin/g++  -I"C:/PROGRA~1/R/R-EXPE~1/include" -DNDEBUG -I. -I../inst/include/   -I"D:/rcpp_lib/Rcpp/include" -I"C:/Rbuild/R-devel-win64/extsoft/include"     -O2 -Wall  -mtune=core2 -c RInside.cpp -o RInside.o
In file included from RInside.cpp:118:0:
RInsideEnvVars.h:9:21: warning: missing terminating " character
         "R_ENVIRON","
",
                     ^
RInsideEnvVars.h:9:9: error: missing terminating " character
         "R_ENVIRON","
",
         ^
RInsideEnvVars.h:10:1: warning: missing terminating " character
         "R_ENVIRON_USER","
",
 ^
RInsideEnvVars.h:10:1: error: missing terminating " character
RInsideEnvVars.h:11:26: warning: missing terminating " character
         "R_GZIPCMD","gzip",
                          ^
RInsideEnvVars.h:11:9: error: missing terminating " character
         "R_GZIPCMD","gzip",
         ^
RInsideEnvVars.h:12:1: warning: missing terminating " character
         "R_HOME","C:/PROGRA~1/R/R-EXPE~1",
 ^
RInsideEnvVars.h:12:1: error: missing terminating " character
In file included from RInside.cpp:118:0:
RInsideEnvVars.h:28:21: warning: missing terminating " character
         "R_UNZIPCMD","unzip",
                     ^
RInsideEnvVars.h:28:9: error: missing terminating " character
         "R_UNZIPCMD","unzip",
         ^
RInsideEnvVars.h:29:1: warning: missing terminating " character
         "R_USER","C:/Users/Jeroen/Documents",
 ^
RInsideEnvVars.h:29:1: error: missing terminating " character
make: *** [RInside.o] Error 1
Warning: running command 'make -f "Makevars.win" -f "C:/PROGRA~1/R/R-EXPE~1/etc/x64/Makeconf" -f "C:/PROGRA~1/R/R-EXPE~1/share/make/winshlib.mk" SHLIB_LDFLAGS='$(SHLIB_CXXLDFLAGS)' SHLIB_LD='$(SHLIB_CXXLD)' SHLIB="RInside.dll" WIN=64 TCLBIN=64 OBJECTS="MemBuf.o RInside.o"' had status 2
C:/Rtools/mingw64/bin/g++  -I"C:/PROGRA~1/R/R-EXPE~1/include" -DNDEBUG -I. -I../inst/include/   -I"D:/rcpp_lib/Rcpp/include" -I"C:/Rbuild/R-devel-win64/extsoft/include"     -O2 -Wall  -mtune=core2 -c RInside.cpp -o RInside.o
In file included from RInside.cpp:118:0:
RInsideEnvVars.h:9:21: warning: missing terminating " character
         "R_ENVIRON","
",
                     ^
RInsideEnvVars.h:9:9: error: missing terminating " character
         "R_ENVIRON","
",
         ^
RInsideEnvVars.h:10:1: warning: missing terminating " character
         "R_ENVIRON_USER","
",
 ^
RInsideEnvVars.h:10:1: error: missing terminating " character
RInsideEnvVars.h:11:26: warning: missing terminating " character
         "R_GZIPCMD","gzip",
                          ^
RInsideEnvVars.h:11:9: error: missing terminating " character
         "R_GZIPCMD","gzip",
         ^
RInsideEnvVars.h:12:1: warning: missing terminating " character
         "R_HOME","C:/PROGRA~1/R/R-EXPE~1",
 ^
RInsideEnvVars.h:12:1: error: missing terminating " character
In file included from RInside.cpp:118:0:
RInsideEnvVars.h:28:21: warning: missing terminating " character
         "R_UNZIPCMD","unzip",
                     ^
RInsideEnvVars.h:28:9: error: missing terminating " character
         "R_UNZIPCMD","unzip",
         ^
RInsideEnvVars.h:29:1: warning: missing terminating " character
         "R_USER","C:/Users/Jeroen/Documents",
 ^
RInsideEnvVars.h:29:1: error: missing terminating " character
make: *** [RInside.o] Error 1
Warning: running command 'make -f "Makevars.win" -f "C:/PROGRA~1/R/R-EXPE~1/etc/x64/Makeconf" -f "C:/PROGRA~1/R/R-EXPE~1/share/make/winshlib.mk" SHLIB_LDFLAGS='$(SHLIB_CXXLDFLAGS)' SHLIB_LD='$(SHLIB_CXXLD)' SHLIB="RInside.dll" WIN=64 TCLBIN=64 OBJECTS="MemBuf.o RInside.o" symbols.rds' had status 2
ERROR: compilation failed for package 'RInside'
* removing 'D:/rcpp_check/RInside.Rcheck/RInside'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.