octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #52475] ode15 is not compatible with SUNDIALS


From: John W. Eaton
Subject: [Octave-bug-tracker] [bug #52475] ode15 is not compatible with SUNDIALS >= 3.0.0
Date: Mon, 11 Mar 2019 11:54:06 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0

Follow-up Comment #72, bug #52475 (project octave):

Carlo:  I did have klu installed and the header sunlinsol/sunlinsol_klu.h was
also present but not detected by configure.  After looking more closely at the
configuration problems, I found that it wasn't finding klu.h because on my
system it is installed in /usr/include/suitesparse/klu.h but the sundials
header is still only including <klu.h>.  After adding
-I/usr/include/suitesparse to CPPFLAGS it builds with your patches using my
self-compiled copy of sundials 4.1.0.  I configured that with


cmake \
  -DKLU_INCLUDE_DIR=/usr/include/suitesparse \
  -DKLU_LIBRARY_DIR=/usr/lib/x86_64-linux-gnu \
  -DKLU_ENABLE=on \
  -DCMAKE_INSTALL_PREFIX=/usr/local/sundials/4.1.0


If I try to use the version installed on my system (3.1.2 on Debian), I see
the following error:


/home/jwe/src/octave/libinterp/dldfcn/__ode15__.cc: In member function 'void
octave::IDA::jacsparse_impl(realtype, realtype, _generic_N_Vector*&,
_generic_N_Vector*&, _generic_SUNMatrix*&)':
/home/jwe/src/octave/libinterp/dldfcn/__ode15__.cc:456:66: error: cannot
convert 'sunindextype*' {aka 'int*'} to 'octave_idx_type*' {aka 'long int*'}
in initialization
     octave_idx_type *colptrs = SUNSparseMatrix_IndexPointers (Jac);
                                                                  ^
/home/jwe/src/octave/libinterp/dldfcn/__ode15__.cc:457:64: error: cannot
convert 'sunindextype*' {aka 'int*'} to 'octave_idx_type*' {aka 'long int*'}
in initialization
     octave_idx_type *rowvals = SUNSparseMatrix_IndexValues (Jac);
                                                                ^
make: *** [Makefile:19234: libinterp/dldfcn/__ode15___la-__ode15__.lo] Error
1


Can we detect that Sundials is installed to use 32-bit integer indexing and
adapt to that the same as we do for BLAS, LAPACK, and some other libraries?

In any case, I think it would be fine to apply these changes now.


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?52475>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]