[R-sig-Fedora] Centos / Fedora rpm - issue with openblas

Martyn Plummer plummerm at iarc.fr
Mon Jun 16 15:38:37 CEST 2014


Enzo,

I am copying in Tom Callaway from Red Hat (Tom: Enzo wrote to us
privately on the same issue, but this is on the R-SIG-Fedora list).

This is a choice made by Red Hat Software, not by the R Development Core
Team, so there is nothing to change in the R-admin manual. Everything
depends on how you configure R. In the SPEC file that builds the Fedora
RPM, R is configured using the options "--with-blas" and
"--with-lapack", neither of which is the default (and the latter is
quite strongly discouraged). These options cause R to be linked directly
to external blas and lapack libraries.

This has clear advantages for a software distributor like Red Hat. The
blas used by R is the synchronized with the rest of the system. Updates
and bug fixes to blas and lapack apply immediately without needing to
push an update to R.

Something like the previous behaviour could be put in place by adding
the option --enable-BLAS-shlib when R is configured. Then libRblas.so
will be built as before. However, this libRblas will not contain a copy
of the reference blas that comes with R. Instead it will be just be a
stub that redirects BLAS calls to the external BLAS library. (NB You
must also use --enable-R-shlib for this to work, but this is the case
for the Fedora SRPM so not a problem).

This option gives you the best of both worlds. However, such a change
would have to wait until the next major release of R.

Martyn

On Mon, 2014-06-16 at 13:05 +0100, enzo at smartinsightsfromdata.com wrote:
> Martyn
> 
> Many thanks for your clear reply.  I’m sure that this has been done
> for good reasons, but I am disappointed that  I need to organise
> myself to compile R from sources *just* to link another library: it
> looks like a functional regression to me, compared to 3.02 (and
> previous releases).
> 
> May I suggest at some point to amend R standard docs to clarify that
> the option described is no longer viable with Linux / Fedora?
> 
> Many thanks again.
> 
> Enzo
>  
> On 16 Jun 2014, at 11:49, Martyn Plummer <plummerm at iarc.fr> wrote:
> 
> > This is a change in the way that the RPM is built. The RPM for R 3.1.0
> > does not build its own blas and lapack libraries, but links directly to
> > external blas and lapack provided by Fedora.  This means that you can no
> > longer swap out libRblas.so by replacing it with a symbolic link to
> > openblas.
> > 
> > If you really want openblas then you should install R from source using
> > the configure option --with-blas="openblas" (Recall that you need to
> > install the openblas-devel RPM).
> > 
> > Martyn
> > 
> > On Mon, 2014-06-16 at 08:53 +0000, enzo at smartinsightsfromdata.com wrote:
> >> 
> >> I�ve installed R 3.1 with the latest Fedora rpm
> >> (R-3.1.0-5.el6.x86_64.rpm) and I run into some issues with openblas.
> >> 
> >> I�ve documented this with an open question on stack overflow here:
> >> http://stackoverflow.com/questions/24158372/openblas-r-3-1-and-fedora-centos-dist
> >> 
> >> Basically before 3.1 I had 3.02 and I was able to install and use
> >> openblas following the instruction from official CRAN documentation,
> >> symlinking the openblas library instead of the �official� one, with a
> >> significant improvement in performance.
> >> 
> >> Now I do not know how to dynamic-link the openblas libraries anymore,
> >> as it seems that either the address of the standard libs is changed,
> >> or the working of the libraries has changed.
> >> 
> >> Could somebody be so kind to shed some light?
> >> 
> >> Many thanks in advance!
> >> 
> >> Enzo Martoglio
> >>        [[alternative HTML version deleted]]
> >> 
> >> 
> >> _______________________________________________
> >> R-SIG-Fedora mailing list
> >> R-SIG-Fedora at r-project.org
> >> https://stat.ethz.ch/mailman/listinfo/r-sig-fedora
> >> 
> > 
> 



More information about the R-SIG-Fedora mailing list