Skip to content
Prev 5713 / 21307 Next

[Bioc-devel] libRblas and libRlapack are broken dependencies for packages in R 3.1.0 on Fedora 20

E N
[@localhost ~]$ locate liblapack
/usr/lib64/atlas/liblapack.so.3
/usr/lib64/atlas/liblapack.so.3.0

[@localhost ~]$ locate libblas
/usr/lib64/libblas.so.3
/usr/lib64/libblas.so.3.4
/usr/lib64/libblas.so.3.4.2

[@localhost ~]$ R CMD locate liblapack
/usr/lib64/atlas/liblapack.so.3
/usr/lib64/atlas/liblapack.so.3.0

[@localhost ~]$ R CMD locate libblas
/usr/lib64/libblas.so.3
/usr/lib64/libblas.so.3.4
/usr/lib64/libblas.so.3.4.2

R finds its BLAS and LAPACK dependencies, but packages can't. I'm neither a system packager nor an R package writer, but from the Tom?Callaway's message I understood the following:
+prior R-3.1.0 on Fedora, packages could link to?BLAS & LAPACK bundled with R regardless the system (un)provided similar libraries;
+since that R release, packages can no more search dependencies within R shared lib, they ought use the system ones.

Let's reuse 'preprocessCore' as an example. When <grep -nri 'lapack'> is applied to?its sources, there are outputs for?"matrix_functions.c" and?"matrix_functions.c". Both files carry the following includes:
#include <R_ext/Rdynload.h>
#include <R.h>
#include <Rdefines.h>
#include <Rmath.h>
#include <Rinternals.h>

I suspect the problems stem from there. If I didn't miss Tom?Callaway's point?so far, such includes should be replaced by system's (i.e. Fedora).

Eric.

P.S. I left the whole conversation history in this mail to make it visible on the mailing list, which I should have done in my previous messages, sorry for my inadvertence.