[BioC] Weird things happening with minfi and RcppEigen

Kasper Daniel Hansen kasperdanielhansen at gmail.com
Thu Nov 29 15:46:56 CET 2012


"Unfortunately", I fixed this problem on my own system yesterday (or
was it the day before) and I don't really want to restore it.

For minfi, all that is being checked (I guess) is whether the
namespace of crlmm can be accessed when it is loaded.  We don't in any
way depend on RcppEigen, and we also don't use any code from crlmm
which depends on RcppEigen.

Kasper

On Thu, Nov 29, 2012 at 9:43 AM, Martin Morgan <mtmorgan at fhcrc.org> wrote:
> 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