[Rcpp-devel] Rstudio package build and Rcpp::compileAttributes()

Smith, Dale Dale.Smith at Fiserv.com
Thu Feb 7 17:53:53 CET 2013


Thanks, I'll try this out when I get a chance.

Dale Smith, Ph.D.
Senior Financial Quantitative Analyst
Risk & Compliance
Fiserv
Office: 678-375-5315
www.fiserv.com

-----Original Message-----
From: JJ Allaire [mailto:jj.allaire at gmail.com] 
Sent: Thursday, February 07, 2013 11:49 AM
To: Smith, Dale
Cc: rcpp-devel
Subject: Re: [Rcpp-devel] Rstudio package build and
Rcpp::compileAttributes()

Hi Dale,

In order to ensure that the RcppExports.cpp file is correct it needs to
be deterministically generated, so in all cases we need write access to
it. One possible workaround is this:

- Use a custom SOURCES variable in Makevars to explicitly list the
source files to compile as part of the package

- Don't include RcppExports.cpp in that list

- Add another source file that in turn includes RcppExports.cpp but
wraps it in the required preprocessor directives.

J.J.

On Thu, Feb 7, 2013 at 10:59 AM, Smith, Dale <Dale.Smith at fiserv.com>
wrote:
> Hello all,
>
>
>
> I'm using Rstudio 0.97.306, R 2.15-2, and Rcpp 0.10.2 with Windows 7 
> Professional x64. I recently switched to using the build tool in 
> Rstudio, however, my generated file RcppExports.cpp and RcppExports.R 
> are checked into version control, so they are read-only. The build 
> fails with
>
>
>
> ***************
>
> ==> Rcpp::compileAttributes()
>
>
>
> Error in eval(expr, envir, enclos) :
>
>   file io error:
>
'C:/Foundation/Common/RiskFinancialLibrary/Prototypes/FiservPrototypes/s
rc/RcppExports.cpp'
>
> Calls: source ... withVisible -> eval -> eval -> <Anonymous> -> .Call
>
> Execution halted
>
> ***************
>
>
>
> I have them checked in as I need to modify RcppExports.cpp manually, 
> after running compileAttributes(), to avoid compiling in Visual Studio

> (see below for explanation, if you are interested):
>
>
>
> #ifndef _MSC_VER
>
>
>
> #include <Rcpp.h>
>
>
>
> using namespace Rcpp;
>
>
>
> ...
>
>
>
> #endif
>
>
>
> I tried removing the generated key at the top of RcppExports.cpp since

> this is mentioned in the Rcpp Attributes Vignette. However, I still 
> have the error. Perhaps I've misinterpreted section 3.5.2 "Generated
Code"?
>
>
>
> In order to avoid generating traffic on the list let me comment on why

> I'm wrapping RcppExports.cpp with _MSC_VER. My employer produces all 
> applications and libraries in Visual Studio. I wrap my ANSI C++ 
> classes with .NET managed C++ classes and build a .NET assembly. This 
> allows me to use Rcpp to test my C++ implementations of models against

> a clean implementation in R and fulfill company requirements that I 
> use Visual Studio unit tests for quality assurance. I can then deliver

> the assembly build to developers for use in their own projects.
>
>
>
> I may turn the previous paragraph into a presentation for the Atlanta 
> R User's Group.
>
>
>
> Dale Smith, Ph.D.
>
> Senior Financial Quantitative Analyst
>
> Risk & Compliance
>
> Fiserv
>
> Office: 678-375-5315
>
> www.fiserv.com
>
>
>
>
> _______________________________________________
> Rcpp-devel mailing list
> Rcpp-devel at lists.r-forge.r-project.org
> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-deve
> l


More information about the Rcpp-devel mailing list