Closed mxork closed 3 years ago
So the patch was simply to change
(define cblas-lib (ffi-lib "libblas" '("3" #f)))
to
(define cblas-lib (ffi-lib "libcblas" '("3" #f)))
?
I found this section in the docs:
On Linux you need copies of CBLAS and LAPACK. Since BLAS and LAPACK exists in multiple versions, so a little care is needed. First on most systems libblas is used for the Fortran version, and libcblas, so get the latter. However on Debian it turns out libblas is exporting the names used by CBLAS, so (either?) ought to be fine.
So my testers for Linux must have used Debian.
In any case introducing a parameter seems like a good idea, since there are many (confusingly many) versions of blas
. Being able to pick a working default would be great too. I think, I need a way to tell Arch, Debian and Ubuntu apart.
What does cat /etc/os-release return on your system?
Hi. I have a committed a change, so libcblas
is picked on Arch.
Can I persuade you to test that it works?
/Jens Axel
:+1: Looks good, works good.
fwiw cat /etc/os-release
:
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://www.archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://bugs.archlinux.org/"
LOGO=archlinux
Arch, at least, uses
libcblas
for the CBLAS interface, rather thanlibblas
. Patching the cblas.define-ffi-definer
works. Consider exposing the path/library name as a parameter?Thanks for the work you've done.