[Rcpp-devel] Rcpp 0.10.1 and RcppEigen

romain at r-enthusiasts.com romain at r-enthusiasts.com
Wed Nov 28 15:45:09 CET 2012


rev 4048 should fix RcppEigen. I made it require Rcpp 0.10.1, but it 
should not need to.

Le 2012-11-28 07:38, romain at r-enthusiasts.com a écrit :
> 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
>
> _______________________________________________
> 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