Bioconductor / bioc_docker

[DEPRECATED] Docker containers for Bioconductor
https://github.com/bioconductor/bioconductor_docker
Artistic License 2.0
49 stars 27 forks source link

mzR not installing in devel_mscore2: #56

Closed sneumann closed 6 years ago

sneumann commented 6 years ago

There is a build error:

** testing if installed package can be loaded
Error: package or namespace load failed for ‘mzR’ 
in dyn.load(file, DLLpath = DLLpath, ...): unable to load shared object '/usr/local/lib/R/site-library/mzR/libs/mzR.so': /usr/local/lib/R/site-library/mzR/libs/mzR.so: 
undefined symbol: _ZNK2H58CommonFG15getObjnameByIdxB5cxx11Ey

in https://hub.docker.com/r/bioconductor/devel_mscore2/builds/b5m6spuitr4cbpvbx4envjr/

sneumann commented 6 years ago

The symbol should be in libhdf5_cpp.a from Rhdf5lib:

sneumann@msbi-corei:~$ nm /vol/R/R-devel/library/Rhdf5lib/lib/libhdf5_cpp.a | grep _ZNK2H58CommonFG15getObjnameByIdxB5cxx11Ey
0000000000003056 T _ZNK2H58CommonFG15getObjnameByIdxB5cxx11Ey

or demangled H5::CommonFG::getObjnameByIdx[abi:cxx11](unsigned long long) const Remember, man nm says: "T" The symbol is in the text (code) section., i.e. present in the lib*.a.

Instead, inside the container the closest thing I get is:

00000000000038e0 T _ZNK2H510H5Location15getObjnameByIdxB5cxx11Ey

or demangled H5::H5Location::getObjnameByIdx[abi:cxx11](unsigned long long) const.

There has been talk that "HDF5 class hierarchy was slightly changed in hdf5-1.10.1" (https://github.com/mannau/h5/issues/56), but the container is still on 1.10.0-patch1+docs-3+deb9u1.

So no idea yet. Yours, Steffen

sneumann commented 6 years ago

Fixed since mzR_2.15.5 , build succeeded in https://hub.docker.com/r/bioconductor/devel_mscore2/builds/ba3j6esc5lunh3p8v5zgxjh/