sundials 7 is now available in experimental In principle octave 9.2 is already patched to support sundials 7, and indeed configure does find ida/ida.h, SUNLinSol_Dense, SUNSparseMatrix_Reallocate etc. But it misses nvector_serial.h for some reason, and consequently loses support for ode15i and ode15s checking for klu.h... yes checking for klu_solve in -lklu ... yes checking for UMFPACK separate complex matrix and rhs split... yes checking for nvector_serial.h... no checking for nvector/nvector_serial.h... no configure: WARNING: SUNDIALS NVECTOR serial library not found. The solvers ode15i and ode15s will be disabled. Not quite sure why it's missing nvector/nvector_serial.h. It's still provided by libsundials-dev 7.1.1+dfsg1-1exp1 There is one point to keep in mind for sundials 7. MPI support is now moved into the core library because of sunmpicomm, introduced in https://github.com/LLNL/sundials/pull/370 So a standard build might fail with "sundials_types.h:57:10: fatal error: mpi.h: No such file or directory" which can be worked around by setting CC=mpicc But the nvector error message doesn't refer to mpi, so not certain if that's why configuration missed nvector_serial.h
I've confirmed current octave source builds successfully against sundials 7. So this bug will not be Severity: serious when the library transition starts, but patching might be needed to reinstate support for ode15i and ode15s.
Hi Drew, Le dimanche 22 septembre 2024 à 15:24 +0200, Drew Parsons a écrit : Looking at config.log, I confirm that the problem comes from mpi.h not being found. However I’m quite reluctant to compiling Octave with a MPI compiler wrapper, as you suggest. This is not the recommended way of compiling Octave, and I am not really willing to deal with the issues that could arise because of that change. If I understand correctly what happened in sundials upstream, an alternative could be to provide distinct Debian packages of sundials without MPI support. But of course that means more work for you.
Hi Markus,
Le mercredi 12 novembre 2025 à 10:55 +0100, Markus Muetzel a écrit :
Thanks for suggesting this workaround, and sorry for my late reply.
I’ve tried to rebuild the octave in Debian unstable, using your
proposed patch.
Sundials is correctly detected at the configure step, but then I get
the following compilation error:
libtool: compile: g++ -DHAVE_CONFIG_H -I. -Iliboctave -I./liboctave -I./liboctave/array -Iliboctave/numeric -I./liboctave/numeric -Iliboctave/operators -I./liboctave/operators -I./liboctave/system -I./liboctave/util -I./libinterp/octave-value -Ilibinterp -I./libinterp -I./libinterp/operators -Ilibinterp/parse-tree -I./libinterp/parse-tree -Ilibinterp/corefcn -I./libinterp/corefcn -I./liboctave/wrappers -I/usr/include/hdf5/serial -I/usr/include/GraphicsMagick -I./libinterp/dldfcn/replace-mpi -I/usr/include/suitesparse -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -pthread -fopenmp -Wall -W -Wshadow -Woverloaded-virtual -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -g -O2 -ffile-prefix-map=/home/sebastien/debian/octave=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c libinterp/dldfcn/__ode15__.cc -fPIC -DPIC -o libinterp/dldfcn/.libs/__ode15___la-__ode15__.o
In file included from /usr/include/sundials/priv/sundials_context_impl.h:25,
from /usr/include/sundials/sundials_context.h:22,
from /usr/include/sundials/sundials_nvector.h:51,
from /usr/include/nvector/nvector_serial.h:42,
from libinterp/dldfcn/__ode15__.cc:50:
libinterp/dldfcn/__ode15__.cc: In member function 'void octave::IDA::initialize()':
libinterp/dldfcn/__ode15__.cc:593:26: error: 'MPI_COMM_NULL' was not declared in this scope; did you mean 'SUN_COMM_NULL'?
593 | if (SUNContext_Create (SUN_COMM_NULL, &m_sunContext) < 0)
| ^~~~~~~~~~~~~
Best,
Hi Sébastien, Am 30.11.2025 um 22:02 schrieb Sébastien Villemot: Thank you for testing the patch. Sorry, it didn't work. For some reason, that wasn't an issue when I tested in Ubuntu 25.10. Maybe, they have a different version of SUNDIALS? Or something else is different on my test system. Does the attached updated version of the patch work for you? With that patch, I'm still able to build Octave using the SUNDIALS 7.1.1+dsfg1-10 packages from Ubuntu 25.10. Best, Markus
Le lundi 01 décembre 2025 à 18:46 +0100, Markus Muetzel a écrit : This new version of the patch seems to work as expected, thanks. Do you recommend that I apply it to the Debian package, to restore ode15s functionality?
Le dimanche 07 décembre 2025 à 17:35 +0100, Sébastien Villemot a écrit : Actually I hit the send button a bit too fast. Octave compiles fine, but then the testsuite fails (it is exercised when building the package, and also as part of Debian CI): […] ode/ode15i.m ...................................................*** The MPI_Comm_dup() function was called before MPI_INIT was invoked. *** This is disallowed by the MPI standard. *** Your MPI job will now abort. [sid:136962] Local abort before MPI_INIT completed completed successfully, but am not able to aggregate error messages, and not able to guarantee that all other processes were killed! make[6]: *** [Makefile:3448: check-local] Error 14 […]