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
[email protected]

https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel

_______________________________________________
Rcpp-devel mailing list
[email protected]
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel

Reply via email to