I’d like to build GNU Octave with 64 bit indices support, and I’m using their release candidate - version 6.0.90 - available from here.
I encountered an issue with blas implementations incompatibility. Octave has 3 dependencies besides blas itself, that require blas by themselves: qrupdate
, arpack
, sundials
and suitesparse
.
It seems that only with openblas, I’m able to get this from octave’s configure report:
64-bit array dims and indexing: yes
64-bit BLAS array dims and indexing: yes
When using reference blas and lapack implementations, I get:
64-bit array dims and indexing: yes
64-bit BLAS array dims and indexing: no
I learned, after discussing with upstream that a test failure I experienced was due to mismatched blas implementations used between octave and it’s dependencies’ blas. Hence I’m wondering if there’s a policy towards defaulting to the reference blas and lapack implementation, vs openblas, where the former doesn’t seem to have 64 bit indexing support by default:
$ nix eval -f. blas.isILP64
false
Maybe this is not intended? (I’m on x86_64).
Are there any licensing issues that make the reference blas implementation preferred over openblas?
My current status is this: I’m going to make qrupdate
use openblas
, like octave
itself, since octave is the only package that depends upon qrupdate
, but for suitesparse
, arpack
and sundials
I am less sure, currently I’m testing building all of them with openblas.
For suitesparse, upstream recommends not using openblas, and not even the reference implementation. They recommend using mkl
which is unfree. See GitHub - DrTimothyAldenDavis/SuiteSparse: The official SuiteSparse library: a suite of sparse matrix algorithms authored or co-authored by Tim Davis, Texas A&M University .
Regarding the licensing concern, it seems that the licenses of suitesparse
, arpack
and sundials
are compatible with that of OpenBLAS (OpenBLAS’ is bsd3), but I could be wrong.
@ttuegel is maintainer of suitesparse
and arpack
. @flokli & @idontgetoutmuch are maintainers of sundials which accidentally, I’d be glad to have their opinion on Add KLU support to sundials by GuillaumeDesforges · Pull Request #94930 · NixOS/nixpkgs · GitHub .
Regards.