Closed antonio-rojas closed 1 year ago
That's odd. What are the 2 extra std::size_t parameters at the end of the Octave calls to the Fortran BLAS? Or one for dpotrf? Those don't appear in the Fortran BLAS at all. I can try to avoid exposing those C definitions of the Fortran BLAS, but if I called those BLAS from CHOLMOD, UMFPACK, or SPQR, what happens with the extra 1 or 2 parameters?
It's a simple fix on my side. I shouldn't be exposing those C prototypes of the Fortran BLAS to the user application. I'm just puzzled that they're different from what I've always used inside my codes, in the old cholmod_blas.h file for example. I had these prototypes there.
Those are for specifying the size of the strings, they are also present in netlib's own cblas:
Got it. Thanks for pointing that out. I had never needed to use those, oddly enough, but have never had any problems calling the Fortran BLAS from C, using any compilers. Maybe that's because the Fortran BLAS doesn't look at the whole string, but just checks the first character. My old prototypes in cholmod_blas.h didn't include those size_t parameters.
I just pushed an update to the dev2 branch of SuiteSparse. Can you give it a try? I'm traveling and can't do my full tests so I'd rather not post it as a beta release until I've had a chance to run all my brutal tests. This update passes my basic tests and it should be fine under my brutal tests.
octave builds fine with suitesparse from the dev2 branch, thanks for the quick fix!
Fixed in v6.0.1. Thanks for the catch.
https://github.com/DrTimothyAldenDavis/SuiteSparse/releases/tag/v6.0.1
Describe the bug The C prototype functions form
SuiteSparse_config.h
are pulled when including the suitesparse libraries public headers, which can cause conflicts with similar declarations from other projects which link to suitesparse. This affects at least octave.To Reproduce Try to build octave against suitesparse 6.0
Expected behavior Builds
Desktop (please complete the following information):