[Rcpp-devel] Rcpp, bigmemory, package creation

JJ Allaire jj.allaire at gmail.com
Thu Apr 11 03:56:35 CEST 2013


Alex,

Did you add an entry for bigmemory in the Depends field of the package
DESCRIPTION file? That would certainly explain the errors you are seeing.

J.J.


On Wed, Apr 10, 2013 at 12:50 PM, Alex Ustian <alex.l.ustian at gmail.com>wrote:

> Sorry for this double post, I am now correctly subscribed to the list!
>
> Hello,
>
> I'm having an issue building a package (named bigExplore) in RStudio which
> uses both Rcpp and the MatrixAccessor from bigmemory.  All of my functions
> seem to work fine when I was interactively developing them via sourceCpp.
>
> The head of a sample .cpp file is:
>
> // [[Rcpp::depends(bigmemory)]]
> #include <Rcpp.h>
> #include <bigmemory/MatrixAccessor.hpp>
>
> // [[Rcpp::export]]
> void cbindWriter(Rcpp::XPtr<BigMatrix> pA, Rcpp::XPtr<BigMatrix> pB,
> Rcpp::XPtr<BigMatrix> pC)
> ...
>
> My DESCRIPTION file contains:
> Depends: bigmemory(>= 4.2.11), Rcpp(>= 0.10.3), RcppArmadillo(>= 0.3.800.1)
> LinkingTo: bigmemory, Rcpp, RcppArmadillo
>
> NAMESPACE:
> useDynLib(bigExplore)
> exportPattern("^[[:alpha:]]+")
>
> and I made the two Makevars(.win) files for the src directory with:
>
> PKG_LIBS = `$(R_HOME)/bin/Rscript -e "Rcpp:::LdFlags()"`
> PKG_LIBS = $(shell "${R_HOME}/bin${R_ARCH_BIN}/Rscript.exe" -e "Rcpp:::LdFlags()")
>
>
> When I hit Build&Reload in RStudio I get the following message which seems to be complaining about not being able to find the bigmemory header infos
>
> ==> Rcpp::compileAttributes()
>
> bigmemory >= 4.0 is a major revision since 3.1.2; please see package
> biganalytics and http://www.bigmemory.org for more information.
> ==> Rcmd.exe INSTALL --no-multiarch bigExplore
> * installing to library 'C:/Users/Alex/Documents/R/win-library/2.15'* installing *source* package 'bigExplore' ...** libsg++ -m64 -I"C:/PROGRA~1/R/R-215~1.3/include" -DNDEBUG    -I"C:/Users/Alex/Documents/R/win-library/2.15/bigmemory/include" -I"C:/Users/Alex/Documents/R/win-library/2.15/Rcpp/include" -I"C:/Users/Alex/Documents/R/win-library/2.15/RcppArmadillo/include" -I"d:/RCompile/CRANpkg/extralibs64/local/include"     -O2 -Wall  -mtune=core2 -c RcppExports.cpp -o RcppExports.oRcppExports.cpp:10:29: error: 'BigMatrix' was not declared in this scopeRcppExports.cpp:10:38: error: template argument 1 is invalidRcppExports.cpp:10:38: error: template argument 2 is invalidRcppExports.cpp:10:55: error: 'BigMatrix' was not declared in this scope
>
>
> and so on...
>
>
> The RcppExports.cpp that is generated starts out like:
>
> // This file was generated by Rcpp::compileAttributes
> // Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393
>
> #include <RcppArmadillo.h>
>
>
> #include <Rcpp.h>
>
> using namespace Rcpp;
>
> // cbindWriter
> void cbindWriter(Rcpp::XPtr<BigMatrix> pA, Rcpp::XPtr<BigMatrix> pB, Rcpp::XPtr<BigMatrix> pC);
> ...
>
> which doesn't include any of the bigmemory header information.
>
>
> I did see a recent similar question that was archived on Google
> http://www.mail-archive.com/rcpp-devel@lists.r-forge.r-project.org/msg05232.html
>
> but it appears that a solution was found by adding bigmemory into the depends part of the DESCRIPTION file.  (which I have already done)
>
> Thanks in advance for your patience and taking the time to look over my problem.
>
>
> Alex Ustian
>
>
> _______________________________________________
> 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-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20130410/e1613483/attachment-0001.html>


More information about the Rcpp-devel mailing list