Closed avasyanin closed 1 year ago
Looks like SuperLU has changed its headers since release 6.0. The CMake script tries to infer the size of the SuperLU index type (i.e., 32 bit or 64 bit int
) by scanning slu_sdefs.h
. From release 6 on, the type is defined in superlu_config.h
instead, so the regex didn't match and returned the content of the full file.
Until we figure out a solution that works for all releases, I suggest to disable SuperLU support in CADET.
If you do not need the 2D General Rate Model, simply run cmake
with the additional flag -DENABLE_GRM_2D=OFF
:
cmake -DCMAKE_INSTALL_PREFIX=$HOME/src/cadet -DCMAKE_CXX_FLAGS="-std=c++17" -DENABLE_TESTS=OFF -DENABLE_GRM_2D=OFF ..
If you'd like to keep the 2D GRM, edit <project root>/CMakeLists.txt
: Replace
if (ENABLE_GRM_2D)
set(SUPERLU_PREFER_STATIC_LIBS ${ENABLE_STATIC_LINK_DEPS})
find_package(SuperLU)
set_package_properties(SuperLU PROPERTIES
TYPE RECOMMENDED
PURPOSE "Sparse matrix solver"
)
set(UMFPACK_PREFER_STATIC_LIBS ${ENABLE_STATIC_LINK_DEPS})
find_package(UMFPACK)
set_package_properties(UMFPACK PROPERTIES
TYPE RECOMMENDED
PURPOSE "Sparse matrix solver"
)
endif()
with
if (ENABLE_GRM_2D)
set(SUPERLU_PREFER_STATIC_LIBS ${ENABLE_STATIC_LINK_DEPS})
set(SUPERLU_FOUND OFF)
set(UMFPACK_PREFER_STATIC_LIBS ${ENABLE_STATIC_LINK_DEPS})
find_package(UMFPACK)
set_package_properties(UMFPACK PROPERTIES
TYPE RECOMMENDED
PURPOSE "Sparse matrix solver"
)
endif()
By the way, the CMake flag -DCMAKE_CXX_FLAGS="-std=c++17"
should not be necessary.
Builds successfully. Thank you @sleweke for the quick response!
Current version failed to build on macOS Ventura 13.5.1 at M1 with the following logs:
Looks like build manual is a bit outdated. I used the following CMake parameters:
make output:
Sorry for long listings.