-
Notifications
You must be signed in to change notification settings - Fork 6.2k
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
[SuiteSparse] Update and split into sub-packages #39297
base: master
Are you sure you want to change the base?
Conversation
That looks like a no go. Is there an equivalent of |
AFAIK SuiteSparse does not export a |
Yeah I checked upstream. Their They should really install Suitesparse-config.cmake and use the component approach instead of just taking common abbreviations. SuitesparseAMD-config.cmake would be much better compared to just AMD-config.cmake. |
Parallel configure fails due to race conditions with configure_file().
82fdd06
to
4491d50
Compare
@valgur Is there any new progress? |
GrpahBLAS has a strict requirement for complex math support, which Android NDK seems to lack.
ba7f976
to
a7271b8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not super happy about this workaround for BLAS and LAPACK handling, but it works well enough with current Vcpkg BLAS and LAPACK setup. This is a replacement for https://github.com/DrTimothyAldenDavis/SuiteSparse/blob/dev/SuiteSparse_config/cmake_modules/SuiteSparseBLAS.cmake, which modifies BLA_VENDOR
and breaks LAPACK detection as a side-effect. Maybe the more generic BLAS handling in the project can be restored in a follow-up PR, if there's interest.
if(WIN32) | ||
# OpenBLAS includes an underscore suffix on Windows for all of its symbols. | ||
# This is not detected automatically by SuiteSparse or FindBLAS and needs to be set manually. | ||
add_compile_definitions(BLAS64__SUFFIX=_) | ||
endif() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A check_symbol_exists()
call to check for dgemm
/dgemm_
would be a more robust and general approach, but this at least works for now.
|
|
suitesparse-paru & suitesparseWhen testing
config-x64-windows-dbg-err.log:
suitesparse-cxsparseWhen testing
install-x64-windows-dbg-out.log:
suitesparse-cholmod & suitesparse-spqrWhen testing
config-x64-windows-dbg-err.log:
suitesparse-graphblas:x86-windowsWhen installing
install-x86-windows-dbg-out.log:
|
Don't have a good enough setup to debug this configuration currently. Works locally on Linux, though.
unresolved external symbol __InterlockedOr64
SuiteSparse consists of a suite of mostly independent libraries, where each of them:
find_package(AMD)
to usesuitesparse-amd
),So I think splitting the package into its constituent sub-packages is well-justified.
Fixes #24252.
./vcpkg x-add-version --all
and committing the result.