[BioC] Weird things happening with minfi and RcppEigen

Martin Morgan mtmorgan at fhcrc.org
Thu Nov 29 15:43:07 CET 2012


On 11/29/2012 06:39 AM, Kasper Daniel Hansen wrote:
> 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.

There's still some mystery going on, though, as Gustavo did

   library(minfi)

which failed, and then in the same session

   library(minfi)

which worked.

Maybe the DLL whose symbol couldn't be found, and prevented RcppEigen from 
loading, was not properly removed when RcppEigen failed?

Martin

>
> 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
>
> _______________________________________________
> 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
>


-- 
Computational Biology / Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N.
PO Box 19024 Seattle, WA 98109

Location: Arnold Building M1 B861
Phone: (206) 667-2793



More information about the Bioconductor mailing list