bugGNU Octave - Bugs: bug #57854, What's the status of sundials...

 
 

bug #57854: What's the status of sundials 5.1.0 IDADENSE and IDAKLU support in octave's 5.2.0 ?

Submitter:  Doron Behar <doronbehar>
Submitted:  Tue 18 Feb 2020 06:57:52 PM UTC
   
 
Category:  Configuration and Build System Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Build Failure
Status:  Works For Me Assigned to:  None
Originator Name:  Open/Closed:  * Closed
Release:  * 5.2.0 Operating System:  * GNU/Linux
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Sun 29 Mar 2020 04:25:51 PM UTC, comment #3: 

BTW Octave 6 / SUNDIALS 5.1 also works for me.

Carlo de Falco <cdf>
Group Member
Sun 29 Mar 2020 04:25:12 PM UTC, comment #2: 

Sorry, I had originally missed this report.
I am writing this followup just to mention that
I have just built Octave 7 with SUNDIALS 5.1
and it's working (fully).

Carlo de Falco <cdf>
Group Member
Tue 18 Feb 2020 07:34:42 PM UTC, comment #1: 

As a question, please use the maintainers mailing list to ask about development status in the future. However, I think the configure tests and code in Octave version 5 were written for SUNDIALS version 2.x. In the meantime, Octave version 6 (soon to be released) has rewritten all of this to be compatible with SUNDIALS version 4.x. I last tested this about a year ago with SUNDIALS version 4.1.0, and everything worked for me as I remember it.

It's possible that some more incompatible API changes have happened in the meantime with the new release of SUNDIALS version 5, and Octave has not yet been adapted for those at all.

It's honestly quite hard to follow libraries like this that keep changing their API in incompatible ways once a year, hopefully this library will settle down at some point and we can actually provide a useful interface.

In Debian, we build Octave without any SUNDIALS support at all, because the distribution only has version 3.1.2, which Octave only partially supports in the upcoming version 6.

I'm closing this as a bug report, since everything that is intended to work is working as far as I know, Octave verion 5 builds and works with SUNDIALS version 2.x, and Octave version 6 builds and works with SUNDIALS version 3.x (partially) and 4.x (fully).

If someone tests the default branch with SUNDIALS version 5 and there are some problems with that, we can reopen or create a new bug report about that.

Mike Miller <mtmiller>
Group Member
Tue 18 Feb 2020 06:57:52 PM UTC, original submission:  

We, at NixOS, would like to get these features working with the latest sundials 5.1.0. See https://github.com/NixOS/nixpkgs/pull/79864 and get the following configure warnings out of our build:


configure: WARNING: SUNDIALS IDA library does not include the IDADENSE linear solver, ode15i and ode15s will be disabled
configure: WARNING: SUNDIALS IDA library not configured with IDAKLU, ode15i and ode15s will not support the sparse Jacobian feature


Our sundials is built with the following cmake flags:


-DCMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY=OFF
-DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF
-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_SKIP_BUILD_RPATH=ON
-DCMAKE_INSTALL_LOCALEDIR=/nix/store/xjmky9izvli8ckakzhgls0i3ncn898w8-sundials-5.1.0/share/locale
-DCMAKE_INSTALL_LIBEXECDIR=/nix/store/xjmky9izvli8ckakzhgls0i3ncn898w8-sundials-5.1.0/libexec
-DCMAKE_INSTALL_LIBDIR=/nix/store/xjmky9izvli8ckakzhgls0i3ncn898w8-sundials-5.1.0/lib
-DCMAKE_INSTALL_DOCDIR=/nix/store/xjmky9izvli8ckakzhgls0i3ncn898w8-sundials-5.1.0/share/doc/
-DCMAKE_INSTALL_INFODIR=/nix/store/xjmky9izvli8ckakzhgls0i3ncn898w8-sundials-5.1.0/share/info
-DCMAKE_INSTALL_MANDIR=/nix/store/xjmky9izvli8ckakzhgls0i3ncn898w8-sundials-5.1.0/share/man
-DCMAKE_INSTALL_OLDINCLUDEDIR=/nix/store/xjmky9izvli8ckakzhgls0i3ncn898w8-sundials-5.1.0/include
-DCMAKE_INSTALL_INCLUDEDIR=/nix/store/xjmky9izvli8ckakzhgls0i3ncn898w8-sundials-5.1.0/include
-DCMAKE_INSTALL_SBINDIR=/nix/store/xjmky9izvli8ckakzhgls0i3ncn898w8-sundials-5.1.0/sbin
-DCMAKE_INSTALL_BINDIR=/nix/store/xjmky9izvli8ckakzhgls0i3ncn898w8-sundials-5.1.0/bin
-DCMAKE_INSTALL_NAME_DIR=/nix/store/xjmky9izvli8ckakzhgls0i3ncn898w8-sundials-5.1.0/lib
-DCMAKE_POLICY_DEFAULT_CMP0025=NEW
-DCMAKE_OSX_SYSROOT=
-DCMAKE_OSX_ARCHITECTURES=x86_64
-DCMAKE_FIND_FRAMEWORK=last
-DCMAKE_STRIP=/nix/store/xpzdkp9y8fnliwrs2g5pygx2qmmbrv8w-binutils-2.31.1/bin/strip
-DCMAKE_RANLIB=/nix/store/xpzdkp9y8fnliwrs2g5pygx2qmmbrv8w-binutils-2.31.1/bin/ranlib
-DCMAKE_AR=/nix/store/xpzdkp9y8fnliwrs2g5pygx2qmmbrv8w-binutils-2.31.1/bin/ar
-DCMAKE_C_COMPILER=gcc
-DCMAKE_CXX_COMPILER=g++
-DCMAKE_INSTALL_PREFIX=/nix/store/xjmky9izvli8ckakzhgls0i3ncn898w8-sundials-5.1.0
-DEXAMPLES_INSTALL_PATH=/nix/store/xjmky9izvli8ckakzhgls0i3ncn898w8-sundials-5.1.0/share/examples
-DKLU_ENABLE=ON
-DKLU_INCLUDE_DIR=/nix/store/gmy606sa4hkr0hld3vy6k4ha7hnn99sb-suitesparse-5.4.0/include
-DKLU_LIBRARY_DIR=/nix/store/gmy606sa4hkr0hld3vy6k4ha7hnn99sb-suitesparse-5.4.0/lib
-DSUNDIALS_INDEX_TYPE=int32_t
-DLAPACK_ENABLE=ON
-DLAPACK_LIBRARIES=/nix/store/vb35v6lsgi0qjx79p8vykd95pvl39dna-openblas-0.3.7/lib/libopenblas.so


The KLU flags are there in accordance with their installation guide - https://github.com/LLNL/sundials/blob/v5.1.0/INSTALL_GUIDE.pdf

The resulting tree for the include directory of sundials is as following:


result
├── include
│   ├── arkode
│   │   ├── arkode_arkstep.h
│   │   ├── arkode_bandpre.h
│   │   ├── arkode_bbdpre.h
│   │   ├── arkode_butcher_dirk.h
│   │   ├── arkode_butcher_erk.h
│   │   ├── arkode_butcher.h
│   │   ├── arkode_erkstep.h
│   │   ├── arkode.h
│   │   ├── arkode_ls.h
│   │   └── arkode_mristep.h
│   ├── cvode
│   │   ├── cvode_bandpre.h
│   │   ├── cvode_bbdpre.h
│   │   ├── cvode_diag.h
│   │   ├── cvode_direct.h
│   │   ├── cvode.h
│   │   ├── cvode_ls.h
│   │   └── cvode_spils.h
│   ├── cvodes
│   │   ├── cvodes_bandpre.h
│   │   ├── cvodes_bbdpre.h
│   │   ├── cvodes_diag.h
│   │   ├── cvodes_direct.h
│   │   ├── cvodes.h
│   │   ├── cvodes_ls.h
│   │   └── cvodes_spils.h
│   ├── ida
│   │   ├── ida_bbdpre.h
│   │   ├── ida_direct.h
│   │   ├── ida.h
│   │   ├── ida_ls.h
│   │   └── ida_spils.h
│   ├── idas
│   │   ├── idas_bbdpre.h
│   │   ├── idas_direct.h
│   │   ├── idas.h
│   │   ├── idas_ls.h
│   │   └── idas_spils.h
│   ├── kinsol
│   │   ├── kinsol_bbdpre.h
│   │   ├── kinsol_direct.h
│   │   ├── kinsol.h
│   │   ├── kinsol_ls.h
│   │   └── kinsol_spils.h
│   ├── nvector
│   │   ├── nvector_manyvector.h
│   │   └── nvector_serial.h
│   ├── sundials
│   │   ├── LICENSE
│   │   ├── NOTICE
│   │   ├── sundials_band.h
│   │   ├── sundials_config.h
│   │   ├── sundials_dense.h
│   │   ├── sundials_direct.h
│   │   ├── sundials_fconfig.h
│   │   ├── sundials_fnvector.h
│   │   ├── sundials_futils.h
│   │   ├── sundials_iterative.h
│   │   ├── sundials_lapack.h
│   │   ├── sundials_linearsolver.h
│   │   ├── sundials_math.h
│   │   ├── sundials_matrix.h
│   │   ├── sundials_mpi_types.h
│   │   ├── sundials_nonlinearsolver.h
│   │   ├── sundials_nvector.h
│   │   ├── sundials_types.h
│   │   └── sundials_version.h
│   ├── sunlinsol
│   │   ├── sunlinsol_band.h
│   │   ├── sunlinsol_dense.h
│   │   ├── sunlinsol_klu.h
│   │   ├── sunlinsol_lapackband.h
│   │   ├── sunlinsol_lapackdense.h
│   │   ├── sunlinsol_pcg.h
│   │   ├── sunlinsol_spbcgs.h
│   │   ├── sunlinsol_spfgmr.h
│   │   ├── sunlinsol_spgmr.h
│   │   └── sunlinsol_sptfqmr.h
│   ├── sunmatrix
│   │   ├── sunmatrix_band.h
│   │   ├── sunmatrix_dense.h
│   │   └── sunmatrix_sparse.h
│   └── sunnonlinsol
│       ├── sunnonlinsol_fixedpoint.h
│       └── sunnonlinsol_newton.h


However, running configure for octave with the following `./configure` flags:


--disable-static
--disable-dependency-tracking
--prefix=/nix/store/ibbl7k5gyk7cz6q1hvcj5mpi4ky8ss33-octave-5.2.0
--enable-readline
--with-blas=openblas
--with-lapack=openblas
--enable-64


Still spits out the IDA related warnings:


configure: WARNING: SUNDIALS IDA library does not include the IDADENSE linear solver, ode15i and ode15s will be disabled
configure: WARNING: SUNDIALS IDA library not configured with IDAKLU, ode15i and ode15s will not support the sparse Jacobian feature


And the relevant parts of the config.log are as follows:


configure:77512: $PKG_CONFIG --exists --print-errors "sundials_ida"
Package sundials_ida was not found in the pkg-config search path.
Perhaps you should add the directory containing `sundials_ida.pc'
to the PKG_CONFIG_PATH environment variable
No package 'sundials_ida' found


And where the rest of the lookup after the ida stuff is here: https://gist.github.com/a7eff71e581479b582bf1a1e0e59d1b3

Full log is here: https://gist.github.com/2efc7e8906a099cc3797701933b21415

Doron Behar <doronbehar>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by cdf (Posted a comment)
  • -email is unavailable- added by doronbehar (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2020-02-18 mtmiller StatusNone Works For Me
        Open/ClosedOpen Closed

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code