Centos / Fedora rpm - issue with openblas
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