[Rcpp-devel] Rcpp 0.10.1 and RcppEigen

Dirk Eddelbuettel edd at debian.org
Tue Nov 27 23:19:21 CET 2012

On 27 November 2012 at 16:54, Kasper Daniel Hansen wrote:
| Rcpp 0.10.1 was released yesterday (?).  Installing it breaks

Wrapped up yesterday evening Chicago time, arrived on CRAN this morning,
CRANberries chronicles this well.  I'll blog the announcement this evening...

| RcppEigen and RcppArmadillo (same error message).  Reinstalling the
| packages fixes RcppArmadillo, but not RcppEigen.

Yes. A few things:

 a) binary interfaces changed; modules package are borked; other packages
    most likely too; so what you have installed you may need to reinstall

 b) as we learned from Kurt, we broked RcppEigen and (the less widely used)
    RcppOctave, maybe more; we are looking into this

 c) on the bright side, cda builds again :) and there are a lots of new
    features and fixes

I am at work so no more detail now.
| 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 ( when doing
| library(RcppArmadillo), but this was fixed re-installing the package


| (unlike RcppEigen).

May need refreshed template magic. To be seen.
| 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.

Roll back to 0.10.0 then if that works better for you.

Sorry about the breakage.  


Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com  

More information about the Rcpp-devel mailing list