[BioC] Weird things happening with minfi and RcppEigen

Kasper Daniel Hansen kasperdanielhansen at gmail.com
Thu Nov 29 15:39:04 CET 2012


Gustova, this all happens because minfi (in release) depends on crlmm
which depends on RcppEigen.  In bioc-devel, minfi does not depend on
crlmm, so that is an easy fix for you.

The issue here is that a couple of days ago, Rcpp 0.10.1 was released.
 This release broke RcppEigen, but for various reasons, Rcpp was still
allowed to be installed to your system.  The Rcpp(Eigen) people are
working on a fix, but for now, the solution is to roll back Rcpp to
version 0.10.0.

The same issue/solution is true for crlmm users btw.

I expect this to be solved in a couple of days.  I reported this to
the Rcpp developers and they claim they have fixed RcppEigen in their
subversion repository.  After this has been confirmed, they have to
make a new release of RcppEigen, which should not be that hard.

For interested lurkers, RcppArmadillo breaks with the same error as
RcppEigen, but the error with RcppArmadillo can be fixed by
reinstalling RcppArmadillo after Rcpp 0.10.1 has been installed.

Kasper

On Thu, Nov 29, 2012 at 7:19 AM, Benilton Carvalho
<beniltoncarvalho at gmail.com> wrote:
> Roll back Rcpp to 0.10.0, then reinstall RcppEigen... Check if that helps
> you out. b
>
>
> On 29 November 2012 10:14, Gustavo Fernández Bayón <gbayon at gmail.com> wrote:
>
>> Hi everybody.
>>
>> I have updated some packages (RcppEigen, among others) after being asked
>> by biocLite(). The process ended up with errors relating to the
>> 'r_vector_start' template (I guess it's something about Rcpp or similar).
>>
>> If I try to reinstall RcppEigen, I get the following output:
>>
>>  > biocLite('RcppEigen')
>> BioC_mirror: http://bioconductor.org
>> Using Bioconductor version 2.11 (BiocInstaller 1.8.3), R version 2.15.
>> Installing package(s) 'RcppEigen'
>> probando la URL 'http://cran.fhcrc.org/src/contrib/RcppEigen_0.3.1.tar.gz'
>> Content type 'application/x-gzip' length 1057901 bytes (1.0 Mb)
>> URL abierta
>> ==================================================
>> downloaded 1.0 Mb
>>
>> * installing *source* package 'RcppEigen' ...
>> ** package 'RcppEigen' successfully unpacked and MD5 sums checked
>> ** libs
>> g++ -I/usr/share/R/include -DNDEBUG
>> -I"/usr/local/lib/R/site-library/Rcpp/include" -I../inst/include -fpic
>> -O3 -pipe -g -c RcppEigen.cpp -o RcppEigen.o
>> g++ -I/usr/share/R/include -DNDEBUG
>> -I"/usr/local/lib/R/site-library/Rcpp/include" -I../inst/include -fpic
>> -O3 -pipe -g -c fastLm.cpp -o fastLm.o
>> In file included from ../inst/include/RcppEigen.h:27:0,
>> from fastLm.h:25,
>> from fastLm.cpp:23:
>> ../inst/include/RcppEigenWrap.h: En el constructor
>> 'Rcpp::traits::Exporter<Eigen::Map<Eigen::Matrix<_Scalar,
>> -0x00000000000000001, -0x00000000000000001> > >::Exporter(SEXP) [with T
>> = double, SEXP = SEXPREC*]':
>> /usr/local/lib/R/site-library/Rcpp/include/Rcpp/as.h:55:51: instanciado
>> desde 'T Rcpp::internal::as(SEXP, Rcpp::traits::r_type_generic_tag)
>> [with T = Eigen::Map<Eigen::Matrix<double, -0x00000000000000001,
>> -0x00000000000000001>, 0, Eigen::Stride<0, 0> >, SEXP = SEXPREC*]'
>> /usr/local/lib/R/site-library/Rcpp/include/Rcpp/as.h:100:89: instanciado
>> desde 'T Rcpp::as(SEXP) [with T = Eigen::Map<Eigen::Matrix<double,
>> -0x00000000000000001, -0x00000000000000001>, 0, Eigen::Stride<0, 0> >,
>> SEXP = SEXPREC*]'
>> fastLm.cpp:207:50: instanciado desde aquí
>> ../inst/include/RcppEigenWrap.h:203:17: error: no hay una función
>> coincidente para la llamada a 'r_vector_start(SEXPREC*&)'
>> ../inst/include/RcppEigenWrap.h:203:17: nota: el candidato es:
>> /usr/local/lib/R/site-library/Rcpp/include/Rcpp/internal/r_vector.h:30:51:
>> nota: template<int RTYPE> typename Rcpp::traits::storage_type::type*
>> Rcpp::internal::r_vector_start(SEXP)
>> ../inst/include/RcppEigenWrap.h: En el constructor
>> 'Rcpp::traits::Exporter<Eigen::Map<Eigen::Matrix<_Scalar,
>> -0x00000000000000001, 1> > >::Exporter(SEXP) [with T = double, SEXP =
>> SEXPREC*]':
>> /usr/local/lib/R/site-library/Rcpp/include/Rcpp/as.h:55:51: instanciado
>> desde 'T Rcpp::internal::as(SEXP, Rcpp::traits::r_type_generic_tag)
>> [with T = Eigen::Map<Eigen::Matrix<double, -0x00000000000000001, 1>, 0,
>> Eigen::Stride<0, 0> >, SEXP = SEXPREC*]'
>> /usr/local/lib/R/site-library/Rcpp/include/Rcpp/as.h:100:89: instanciado
>> desde 'T Rcpp::as(SEXP) [with T = Eigen::Map<Eigen::Matrix<double,
>> -0x00000000000000001, 1>, 0, Eigen::Stride<0, 0> >, SEXP = SEXPREC*]'
>> fastLm.cpp:208:50: instanciado desde aquí
>> ../inst/include/RcppEigenWrap.h:169:17: error: no hay una función
>> coincidente para la llamada a 'r_vector_start(SEXPREC*&)'
>> ../inst/include/RcppEigenWrap.h:169:17: nota: el candidato es:
>> /usr/local/lib/R/site-library/Rcpp/include/Rcpp/internal/r_vector.h:30:51:
>> nota: template<int RTYPE> typename Rcpp::traits::storage_type::type*
>> Rcpp::internal::r_vector_start(SEXP)
>> make: *** [fastLm.o] Error 1
>> ERROR: compilation failed for package 'RcppEigen'
>> * removing '/usr/local/lib/R/site-library/RcppEigen'
>> * restoring previous '/usr/local/lib/R/site-library/RcppEigen'
>>
>> The downloaded source packages are in
>> '/tmp/RtmpZjWHiE/downloaded_packages'
>> Mensajes de aviso perdidos
>> In install.packages(pkgs = pkgs, lib = lib, repos = repos, ...) :
>> installation of package 'RcppEigen' had non-zero exit status
>>
>> I am sorry for the Spanish messages. The error is something like "There
>> is no coincident function for the call to 'r_vector_start'".
>>
>> Afterwards, from a clean R session, something strange happens with
>> minfi. If I try to load the package, underlying broken RcppEigen complains:
>>
>>  > library(minfi)
>> Loading required package: BiocGenerics
>> [...]
>> Loading required package: Biostrings
>> Error in dyn.load(file, DLLpath = DLLpath, ...) :
>> unable to load shared object
>> '/usr/local/lib/R/site-library/RcppEigen/libs/RcppEigen.so':
>> /usr/local/lib/R/site-library/RcppEigen/libs/RcppEigen.so: undefined
>> symbol: _ZN4Rcpp8internal14r_vector_startILi10EiEEPT0_P7SEXPREC
>> Error: package/namespace load failed for 'minfi'
>>
>> But, if I try to reload it again inmediately, surprise, surprise...
>>
>>  > library(minfi)
>> Loading package bit 1.1-9
>> package:bit (c) 2008-2012 Jens Oehlschlaegel (GPL-2)
>> creators: bit bitwhich
>> coercion: as.logical as.integer as.bit as.bitwhich which
>> operator: ! & | xor != ==
>> querying: print length any all min max range sum summary
>> bit access: length<- [ [<- [[ [[<-
>> for more help type ?bit
>> Loading package ff2.2-10
>> - getOption("fftempdir")=="/tmp/RtmpNZWjJl"
>>
>> - getOption("ffextension")=="ff"
>>
>> - getOption("ffdrop")==TRUE
>>
>> - getOption("fffinonexit")==TRUE
>>
>> - getOption("ffpagesize")==65536
>>
>> - getOption("ffcaching")=="mmnoflush" -- consider "ffeachflush" if your
>> system stalls on large writes
>>
>> - getOption("ffbatchbytes")==16777216 -- consider a different value for
>> tuning your system
>>
>> - getOption("ffmaxbytes")==536870912 -- consider a different value for
>> tuning your system
>>
>>
>> ...it loads minfi without problems. This is quite strange for me.
>> Anyway, I have found some info in
>>
>> http://permalink.gmane.org/gmane.comp.lang.r.rcpp/4404
>>
>> that maybe explains why everything has broken, but the strange thing
>> with minfi still shocks me a little bit. Is there any reason for this?
>> Any solution I can use to restore my library (specially minfi) to a
>> usable state, so I can continue executing my workflows?
>>
>> What follows is the output of sessionInfo():
>>
>>  > sessionInfo()
>> R version 2.15.2 (2012-10-26)
>> Platform: x86_64-pc-linux-gnu (64-bit)
>>
>> locale:
>> [1] LC_CTYPE=es_ES.UTF-8 LC_NUMERIC=C
>> [3] LC_TIME=es_ES.UTF-8 LC_COLLATE=es_ES.UTF-8
>> [5] LC_MONETARY=es_ES.UTF-8 LC_MESSAGES=es_ES.UTF-8
>> [7] LC_PAPER=C LC_NAME=C
>> [9] LC_ADDRESS=C LC_TELEPHONE=C
>> [11] LC_MEASUREMENT=es_ES.UTF-8 LC_IDENTIFICATION=C
>>
>> attached base packages:
>> [1] stats graphics grDevices utils datasets methods base
>>
>> other attached packages:
>> [1] minfi_1.4.0 Biostrings_2.26.2 GenomicRanges_1.10.5
>> [4] IRanges_1.16.4 reshape_0.8.4 plyr_1.7.1
>> [7] lattice_0.20-10 Biobase_2.18.0 BiocGenerics_0.4.0
>>
>> loaded via a namespace (and not attached):
>> [1] affyio_1.26.0 annotate_1.36.0 AnnotationDbi_1.20.3
>> [4] beanplot_1.1 BiocInstaller_1.8.3 bit_1.1-9
>> [7] codetools_0.2-8 crlmm_1.16.9 DBI_0.2-5
>> [10] ellipse_0.3-7 ff_2.2-10 foreach_1.4.0
>> [13] genefilter_1.40.0 grid_2.15.2 iterators_1.0.6
>> [16] limma_3.14.2 MASS_7.3-22 Matrix_1.0-10
>> [19] matrixStats_0.6.2 mclust_4.0 multtest_2.14.0
>> [22] mvtnorm_0.9-9993 nor1mix_1.1-3 oligoClasses_1.20.0
>> [25] parallel_2.15.2 preprocessCore_1.20.0 RColorBrewer_1.0-5
>> [28] RcppEigen_0.3.1 R.methodsS3_1.4.2 RSQLite_0.11.2
>> [31] siggenes_1.32.0 splines_2.15.2 stats4_2.15.2
>> [34] survival_2.36-14 XML_3.95-0.1 xtable_1.7-0
>> [37] zlibbioc_1.4.0
>>
>>
>> Regards,
>> Gus
>>
>>         [[alternative HTML version deleted]]
>>
>>
>> _______________________________________________
>> Bioconductor mailing list
>> Bioconductor at r-project.org
>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>> Search the archives:
>> http://news.gmane.org/gmane.science.biology.informatics.conductor
>>
>
>         [[alternative HTML version deleted]]
>
>
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at r-project.org
> https://stat.ethz.ch/mailman/listinfo/bioconductor
> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor



More information about the Bioconductor mailing list