Dear All,

I am building R from source[1], following what is done in "rules" for building 
Debian's R. But the R I generate, in contrast to the standard Debian's R, will 
not change the BLAS and LAPACK libraries it uses when I change them via 
"update-alternatives". I have no idea what I am doing wrong (but, somehow, I've 
been quite capable of making the same mistake(s) in three different machines).

I can "solve" the issue by running configure with
--with-blas="-lblas"
--with-lapack="-llapack"

but I do not understand why I need to do this, when Dirk's configure in rules 
is using just
--with-blas
--with-lapack

(and this is also what I understand I should be doing from section A.3.1 of "R 
Installation and Administration" 
---https://cran.r-project.org/doc/manuals/r-release/R-admin.html#BLAS).

This concerns me in so far as it suggests that I am missing something rather 
obvious.

Thanks,

R.


Details of the steps I am following.

1. update-alternatives: use Atlas (lower priority than OpenBLAS)

   update-alternatives --config libblas.so.3-x86_64-linux-gnu 
  There are 3 choices for the alternative libblas.so.3-x86_64-linux-gnu 
(providing /usr/lib/x86_64-linux-gnu/li

  Selection    Path                                                    Priority 
  Status
------------------------------------------------------------
  0            /usr/lib/x86_64-linux-gnu/openblas-openmp/libblas.so.3   95      
  auto mode
 * 1            /usr/lib/x86_64-linux-gnu/atlas/libblas.so.3             35     
   manual mode
  2            /usr/lib/x86_64-linux-gnu/blas/libblas.so.3              10      
  manual mode
  3            /usr/lib/x86_64-linux-gnu/openblas-openmp/libblas.so.3   95      
  manual mode

update-alternatives --config liblapack.so.3-x86_64-linux-gnu 
There are 3 choices for the alternative liblapack.so.3-x86_64-linux-gnu 
(providing /usr/lib/x86_64-linux-gnu/
3).

  Selection    Path                                                      
Priority   Status
------------------------------------------------------------
  0            /usr/lib/x86_64-linux-gnu/openblas-openmp/liblapack.so.3   95    
    auto mode
 * 1            /usr/lib/x86_64-linux-gnu/atlas/liblapack.so.3             35   
     manual mode
  2            /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3            10    
    manual mode
  3            /usr/lib/x86_64-linux-gnu/openblas-openmp/liblapack.so.3   95    
    manual mode



2. Just in case, run /sbin/ldconfig

3. No LD_LIBRARY_PATH in env.


4. Configure: ./configure --with-blas --with-lapack --enable-R-shlib 
--without-recommended-packages

5. Interestingly, this picks up OpenBLAS:

 configure: searching for an external BLAS
configure: searching for BLAS in default libraries
checking for dgemm_... no
configure: searching for OpenBLAS

and

R is now configured for x86_64-pc-linux-gnu
(...)
External libraries:          pcre2, readline, BLAS(OpenBLAS), LAPACK(in blas), 
curl
Options enabled:             shared R library, R profiling
(...)
Options not enabled:         shared BLAS, memory profiling


6. After make is finished, ldd:
libblas.so.3 => /usr/lib/x86_64-linux-gnu/libblas.so.3 (0x00007f01b1ac2000)
libatlas.so.3 => /usr/lib/x86_64-linux-gnu/libatlas.so.3 (0x00007f01b0f57000)

And no openblas in any line.

7. sessionInfo shows it is using OpenBLAS

  Matrix products: default
BLAS/LAPACK: /usr/lib/x86_64-linux-gnu/openblas-openmp/libopenblasp-r0.3.25.so; 
 LAPACK version 3.11.0

8. R CMD config shows difference in the configuration
- My build:
     ./R CMD config BLAS_LIBS: -lopenblas
   - ./R CMD config LAPACK_LIBS: nothing
- Debian's R
   - /usr/bin/R CMD config BLAS_LIBS: -lblas
   - /usr/bin/R CMD config LAPACK_LIBS: -llapack



[1] Why am I building from source? To match the exact version in BioConductor 
devel and for a cluster where I am playing with some compiler options



-- 
Ramon Diaz-Uriarte
Department of Biochemistry, Lab B-31
Facultad de Medicina 
Universidad Autónoma de Madrid 
Arzobispo Morcillo, 4
28029 Madrid
Spain

Phone: +34-91-497-2412

Email: rdia...@gmail.com
       r.d...@uam.es
       ramon.d...@iib.uam.es

https://ligarto.org/rdiaz


_______________________________________________
R-SIG-Debian mailing list
R-SIG-Debian@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-debian

Reply via email to