Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update suitesparse to 7.8.3 #56959

Merged
merged 1 commit into from
Jan 8, 2025
Merged

Conversation

fxcoudert
Copy link
Contributor

@giordano
Copy link
Contributor

giordano commented Jan 5, 2025

@ViralBShah I presume we need to update the suitesparse wrapper at the same time for this?

@inkydragon inkydragon added external dependencies Involves LLVM, OpenBLAS, or other linked libraries stdlib Julia's standard library JLLs labels Jan 6, 2025
@ViralBShah
Copy link
Member

I think I had checked a while ago and wrappers did not need updating. Can check once more.

@giordano
Copy link
Contributor

giordano commented Jan 7, 2025

There are loads of test failures though, and several errors like

Error: no BLAS/LAPACK library loaded for dlarfg_()

@imciner2
Copy link
Contributor

imciner2 commented Jan 7, 2025

There are loads of test failures though, and several errors like

Error: no BLAS/LAPACK library loaded for dlarfg_()

Uh oh... that sounds like name mangling or modification got messed up somehow so we are trying to call wrong BLAS functions.

Downloading the raw binaries from the JLL, a quick check on the undefined symbols shows we lost the 64 suffixing:

SuiteSparse 7.8.0+1:

$ nm -a libspqr.so | grep U
                 U dlarf_64_
                 U dlarfb_64_
                 U dlarfg_64_
                 U dlarft_64_
                 U dnrm2_64_
                 U dznrm2_64_
                 U memcpy@@GLIBC_2.2.5
                 U memmove@@GLIBC_2.2.5
                 U memset@@GLIBC_2.2.5
                 U __muldc3@@GCC_4.0.0
                 U sqrt@@GLIBC_2.2.5
                 U SuiteSparse_config_divcomplex
                 U SuiteSparse_config_hypot
                 U SuiteSparse_time
                 U zlarf_64_
                 U zlarfb_64_
                 U zlarfg_64_
                 U zlarft_64_

SuiteSparse 7.8.3+1

$ nm -a libspqr.so | grep U
                 U dlarf_
                 U dlarfb_
                 U dlarfg_
                 U dlarft_
                 U dnrm2_
                 U dznrm2_
                 U memcpy@@GLIBC_2.2.5
                 U memmove@@GLIBC_2.2.5
                 U memset@@GLIBC_2.2.5
                 U __muldc3@@GCC_4.0.0
                 U sqrt@@GLIBC_2.2.5
                 U SuiteSparse_config_divcomplex
                 U SuiteSparse_config_hypot
                 U SuiteSparse_time
                 U zlarf_
                 U zlarfb_
                 U zlarfg_
                 U zlarft_

@imciner2
Copy link
Contributor

imciner2 commented Jan 7, 2025

SuiteSparse 7.8.2+0:

$ nm -a libspqr.so | grep U
                 U dlarf_64_
                 U dlarfb_64_
                 U dlarfg_64_
                 U dlarft_64_
                 U dnrm2_64_
                 U dznrm2_64_
                 U memcpy@@GLIBC_2.2.5
                 U memmove@@GLIBC_2.2.5
                 U memset@@GLIBC_2.2.5
                 U __muldc3@@GCC_4.0.0
                 U sqrt@@GLIBC_2.2.5
                 U SuiteSparse_config_divcomplex
                 U SuiteSparse_config_hypot
                 U SuiteSparse_time
                 U zlarf_64_
                 U zlarfb_64_
                 U zlarfg_64_
                 U zlarft_64_

and SuiteSparse 7.8.3+0:

$ nm -a libspqr.so | grep U
                 U dlarf_64_
                 U dlarfb_64_
                 U dlarfg_64_
                 U dlarft_64_
                 U dnrm2_64_
                 U dznrm2_64_
                 U memcpy@@GLIBC_2.2.5
                 U memmove@@GLIBC_2.2.5
                 U memset@@GLIBC_2.2.5
                 U __muldc3@@GCC_4.0.0
                 U sqrt@@GLIBC_2.2.5
                 U SuiteSparse_config_divcomplex
                 U SuiteSparse_config_hypot
                 U SuiteSparse_time
                 U zlarf_64_
                 U zlarfb_64_
                 U zlarfg_64_
                 U zlarft_64_

So we lost the suffix through a Ygg change it looks like, since 7.8.3+0 has them but 7.8.3+1 lost the suffix.

@imciner2
Copy link
Contributor

imciner2 commented Jan 7, 2025

These BLAS errors should be fixed in the newest SuiteSparse 7.8.3+2 build (https://github.com/JuliaBinaryWrappers/SuiteSparse_jll.jl/releases/tag/SuiteSparse-v7.8.3%2B2) now waiting for merge to general (JuliaRegistries/General#122538). We also will get the RISCV platform there, but I don't think we can specify that in the deps yet.

@giordano
Copy link
Contributor

giordano commented Jan 7, 2025

We also will get the RISCV platform there, but I don't think we can specify that in the deps yet.

If this PR is rebased on master to include 5ec41e9, the refresh checksums Makefile should include the riscv64 build too.

@fxcoudert
Copy link
Contributor Author

Rebased on master

@imciner2
Copy link
Contributor

imciner2 commented Jan 7, 2025

This still looks to be using the wrong version of SuiteSparse. It needs to be 7.8.3+2 and it seems to be on 7.8.3+1 still.

@fxcoudert
Copy link
Contributor Author

Oops sorry about that

@giordano
Copy link
Contributor

giordano commented Jan 8, 2025

All green now, thanks everybody!

@giordano giordano merged commit fe1ed74 into JuliaLang:master Jan 8, 2025
7 checks passed
@ViralBShah
Copy link
Member

Thanks folks!

@fxcoudert fxcoudert deleted the suitesparse branch January 8, 2025 13:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
external dependencies Involves LLVM, OpenBLAS, or other linked libraries JLLs stdlib Julia's standard library
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants