-
Notifications
You must be signed in to change notification settings - Fork 262
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
Conflict between SuiteSparse and CMake's FindBLAS use of BLA_VENDOR CMAke variable #800
Comments
Note that a workaround of setting
|
Thank you for your report. I opened #802. Does that change fix the issue for you? |
Thanks! I just checked, and it seems not to fix the issue. I added a print after the unset:
and the output is:
|
First of all, thanks a lot for all the hard work on suitesparse!
Describe the bug
Both CMake's FindBLAS and SuiteSparse's CMake use the
BLA_VENDOR
variable. However, they use it with slightly different semantics, that can lead to unexpected behaviour.CMake's FindBLAS describe
BLA_VENDOR
(https://cmake.org/cmake/help/latest/module/FindBLAS.html) as:So, for CMake the value of
BLA_VENDOR
that means "find any BLAS available" is ifBLA_VENDOR
is unset (or is an empty string or a bunch of other conditions, see https://cmake.org/cmake/help/latest/command/if.html#constant) or if set toAll
, see https://github.com/Kitware/CMake/blob/2e5b40f581c9c58a92d6f166e6ca28e8a3cc3563/Modules/FindBLAS.cmake#L398, but this is just an undocumented implementation detail.Instead, for SuiteSparse
BLA_VENDOR
is (SuiteSparse/SuiteSparse_config/cmake_modules/SuiteSparseBLAS.cmake
Line 24 in 31bdd56
And the
ANY
default value is enforced by default by SuiteSparse.This means that if one tries to build by default SuiteSparse, the
BLA_VENDOR
default value ofANY
can be interpreted by CMake as a specific BLAS implementation, andfind_package(BLAS)
may fail if it is not found.To Reproduce
If you are familiar with conda, on Windows this fails
Expected behavior
Without specifing any
BLA_VENDOR
value, the default value ofBLA_VENDOR
should be the one that means "find any blas" also for CMake, i.e. empty string.Screenshots
N.a.
Desktop (please complete the following information):
Additional context
Problem emerged in conda-forge/suitesparse-feedstock#92 .
The text was updated successfully, but these errors were encountered: