[Rcpp-devel] Rcpp 0.10.1 and RcppEigen

romain at r-enthusiasts.com romain at r-enthusiasts.com
Wed Nov 28 07:38:28 CET 2012


Hello,

I know how to fix RcppEigen, which I will do once I'm home tomorrow at 
best.
The code is using a template that I consider implementation detail in 
Rcpp, which apparently I used in RcppEigen as if it was part of the API. 
When things like this happen, things like that happen.

If anyone wants to fix it before me, it is essentially just about 
removing one template argument from r_vector_start call.

Romain

Le 2012-11-27 22:54, Kasper Daniel Hansen a écrit :
> Rcpp 0.10.1 was released yesterday (?).  Installing it breaks
> RcppEigen and RcppArmadillo (same error message).  Reinstalling the
> packages fixes RcppArmadillo, but not RcppEigen.
>
> The error I get from compiling RcppEigen (version 0.3.1) is
>
> 
> /hpscc/usr/local/gcc-4.1.2/install/R/R-devel/lib64/R/site-library/Rcpp/include/Rcpp/as.h:55:
>   instantiated from ‘T Rcpp::internal::as(SEXPREC*,
> Rcpp::traits::r_type_generic_tag) [with T =
> Eigen::Map<Eigen::Matrix<double, -0x00000000000000001, 1, 0,
> -0x00000000000000001, 1>, 0, Eigen::Stride<0, 0> >]’
> 
> /hpscc/usr/local/gcc-4.1.2/install/R/R-devel/lib64/R/site-library/Rcpp/include/Rcpp/as.h:100:
>   instantiated from ‘T Rcpp::as(SEXPREC*) [with T =
> Eigen::Map<Eigen::Matrix<double, -0x00000000000000001, 1, 0,
> -0x00000000000000001, 1>, 0, Eigen::Stride<0, 0> >]’
> fastLm.cpp:208:   instantiated from here
> ../inst/include/RcppEigenWrap.h:169: error: no matching function for
> call to ‘r_vector_start(SEXPREC*&)’
> make: *** [fastLm.o] Error 1
> ERROR: compilation failed for package ‘RcppEigen’
>
> This translates to the following error when I load the already
> installed version of RcppEigen:
>
>> library(RcppEigen)
> Loading required package: Rcpp
> Loading required package: Matrix
> Loading required package: lattice
> Error in dyn.load(file, DLLpath = DLLpath, ...) :
>   unable to load shared object
> 
> '/hpscc/usr/local/gcc-4.1.2/install/R/R-devel/lib64/R/site-library/RcppEigen/libs/RcppEigen.so':
>
> 
> /hpscc/usr/local/gcc-4.1.2/install/R/R-devel/lib64/R/site-library/RcppEigen/libs/RcppEigen.so:
> undefined symbol:
> _ZN4Rcpp8internal14r_vector_startILi10EiEEPT0_P7SEXPREC
> Error: package or namespace load failed for ‘RcppEigen’
>
> I got the same error for RcppArmadillo (0.3.4.4) when doing
> library(RcppArmadillo), but this was fixed re-installing the package
> (unlike RcppEigen).
>
> This may be something you are aware of.  I am mostly using RcppEigen
> through a chain of dependencies.
>
> I am on a fairly old system, with GCC 4.2.1 under Redhat Enterprise
> Linux version 4.  This is for our cluster, so it is not easy for me 
> to
> update.
>
> Kasper
> _______________________________________________
> 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



More information about the Rcpp-devel mailing list