[R-sig-Debian] Compiling R-2.11.0 with ATLAS-tuned BLAS and LAPACK

Dirk Eddelbuettel edd at debian.org
Wed Jun 2 21:00:21 CEST 2010


On 2 June 2010 at 13:28, Paul Johnson wrote:
| On Tue, Jun 1, 2010 at 10:56 PM, Dirk Eddelbuettel <edd at debian.org> wrote:
| > Who says you need libRblas.so?  We no longer do.
| >
| > | different BLAS.
| > |
| 
| 
| The R install & admin manual says so, actually.  I think that you know
| what's going on much more accurately than it does, and perhaps you
| don't see that doc the way we do.

I actually don't read it much as I have no problems building R (on Linux), so
maybe I shouldnt have sent you that way as it may have clouded and muddled
your understanding instead of helping.

Initially, in your previous email, you said

   This question reminded me I never understood BLAS linkage with R when
   I asked about it 2 months ago and I forgot to follow up.  
 
and there is really nothing magic here.  There is an interface (called BLAS)
and a number of interchangeable libraries that can all provide libblas.so.
They are "simply" arranged in such a manner (by the atlas + lapack packages)
that the best one is preferred. That's all.  The devil is the detail _and I
am merely using these facilities from R and other packages_ (which included
Octave when I still maintained Octave).

All I do it make sure libblas.so is there when R runs configure, so that R
finds it and builds again it. Presto -- now you get your "pluggability".

Depending on which package (libatlas*, refblas, ...) you have installed,
running

	ldd ldd /usr/lib/R/bin/exec/R 

will point to different libraries standing in libblas.so.

Lastly, I would recommend that you stop worrying about libRblas.so.  Note the
R in that name. It is a fallback provided by R when the system has nothing
better.  In a darker age we (as in Debian) had to use it too (as gfortran and
lapack had issues) but that has long passed.  We now have something better,
and it works. Enjoy it.

-- 
  Regards, Dirk



More information about the R-SIG-Debian mailing list