Thank you!

Installing openblas and then using ./configure --without-lapack --with-blas 
--enable-R-shlib

..got everything working.  Does this need reporting upstream as a bug in R or 
lapack?  I'm good now,  but it might help others to get this fixed.

Simon.

-----Original Message-----
From: Ivan Krylov <ikry...@disroot.org> 
Sent: 08 May 2024 20:05
To: Simon Andrews <simon.andr...@babraham.ac.uk>
Cc: Simon Andrews via R-help <r-help@r-project.org>; Miguel Esteva 
<estev...@wehi.edu.au>
Subject: Re: [R] Compilation problems with R4.4.0

В Wed, 8 May 2024 16:59:25 +0000
Simon Andrews <simon.andr...@babraham.ac.uk> пишет:

> The lapack libraries are:
> 
> $ rpm -qa | grep lapack
> lapack-3.9.0-10.el9.x86_64
> lapack64_-3.9.0-10.el9.x86_64
> lapack64-3.9.0-10.el9.x86_64
> lapack-devel-3.9.0-10.el9.x86_64

Thanks for this information! I figured out I needed to enable the 
"PowerTools/CRB" repo, installed lapack-devel from there, and now I get the 
same configure output and the same crash: by linking with R's built-in Rblas 
but and system-provided LAPACK-3.9.0.

If I configure --without-lapack, i.e. use both Rblas and R-provided functions 
from LAPACK up to 3.12.0, the build doesn't crash.

If I try to enable --with-blas=-lblas, here's what happens:

configure:47862: checking whether double complex BLAS can be used
configure:47946: result: no

The test compares the result of the BLAS function zdotu with the manually 
computed vector norm for a complex vector [*]. In this case, the Fortran 
program thinks that the BLAS returns a zero instead of the correct answer, thus 
failing the test and refusing to compile with system BLAS.

I think that you somehow stumbled upon a Fortran ABI incompatibility regarding 
passing complex numbers between the Fortran code compiled during R build and 
the BLAS and LAPACK provided in the PowerTools/CRB repo. I don't know what 
exactly is the problem, but at least --without-lapack is an easy workaround 
without any cost in performance.

In fact, if you install openblas-devel and configure --with-blas (to replace 
Rblas with OpenBLAS), the double complex BLAS test will pass, the build won't 
crash, and you will get even better performance.

--
Best regards,
Ivan

[*] https://stat.ethz.ch/pipermail/r-devel/2024-March/083302.html

------------------------------------
This email has been scanned for spam & viruses. If you believe this email 
should have been stopped by our filters, click the following link to report it 
(https://portal-uk.mailanyone.net/index.html#/outer/reportspam?token=dXNlcj1zaW1vbi5hbmRyZXdzQGJhYnJhaGFtLmFjLnVrO3RzPTE3MTUxOTUxMjQ7dXVpZD02NjNCQ0NGMzA1RDJGMzA3RDhDMjIxQTZCRUE3MEQ3MDt0b2tlbj0yZTdkOWY0ZjNjZmQ2NGQyZGFlMmYwZjQ2MTk5NjdmODk2ZDM3YjQyOw%3D%3D).

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to