Update sundials 5.4.0 --> 7.8.0 - #16158
Draft
AnHeuermann wants to merge 9 commits into
Draft
Conversation
Member
Author
|
Blocked by #15879. |
AnHeuermann
force-pushed
the
update-sundials
branch
from
August 10, 2026 08:22
12c1ebc to
9e0066a
Compare
- Rename the CMake options SUNDIALS 6/7 dropped (SUNDIALS_KLU_ENABLE, SUNDIALS_LAPACK_ENABLE, SUNDIALS_BUILD_*_LIBS, SUNDIALS_EXAMPLES_*), which were silently ignored, leaving KLU and LAPACK off - Install the headers under $(builddir_inc)/sundials again, where -I$(builddir_inc)/sundials/ and the cpp runtimes expect them - Link sundials_core, split out in SUNDIALS 7 - Derive the macOS install names from the installed libraries instead of hardcoding versions that now differ per package - Pre-set SUNDIALS_POSIX_TIMERS for the wasm cross-build; the probe builds a sub-project without the toolchain file and always fails Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- Unify cvodeErrorHandlerFunction and idaErrorHandlerFunction into sundialsErrorHandlerFunction; they only differed in the banner, and func/file already name the module - checkReturnFlag_CV and _KIN named their flags with the linear solver tables, which give the same integers different names (CV_TOO_MUCH_WORK printed as CVLS_MEM_NULL); use CVodeGetReturnFlagName / KINGetReturnFlagName - Add the missing break in checkReturnFlag_SUNDIALS' UNKNOWN_FLAG case, which fell through into checkReturnFlag_CV - Type the SUNErrCode-carrying parameters, returns and locals as SUNErrCode instead of int; nlsKinsolErrorHandler gets its own variable for it, since its flag also carries KIN_* and KINLS_* macros - Record in _omc_SUNMatScaleIAdd_Sparse why SUNDIALS still cannot replace it Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- The libraries are copied out of 3rdParty/sundials/build/lib with their RPATH still pointing there, so libsundials_*.so only find libsundials_core.so.7 while that build tree exists - Only broke with SUNDIALS 7: before the core split no SUNDIALS library depended on another, and a consumer's DT_RUNPATH does not apply to a transitive lookup - Pass the rpath via CMAKE_SHARED_LINKER_FLAGS; SUNDIALS overwrites CMAKE_INSTALL_RPATH itself in cmake/SundialsSetupCompilers.cmake - Drop -DLDFLAGS, which SUNDIALS never reads Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Member
Author
|
Most C/C++ tests should be fixed, but the OMSimulator test I got a similar error while working on OpenModelica/OMSimulator#1600 (see OpenModelica/OMSimulator#1600 (comment)). In the end I removed the fix for it because tests were passing without it anyway. Building the FMU with the master version of omc results in the same error, so we should add this clocked example FMU to OMSimulator testsuite and fix it there. |
Member
Author
|
Blocked by OpenModelica/OMSimulator#1621. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related Issues
Fixes #16127.
Purpose
Approach
Testing