WARNING
Although we provide patches for prior releases, users are strongly encouraged
to upgrade to the latest version of SUNDIALS.


SUNDIALS Patches

Note

For instructions on how to determine which patch you should download and/or how to apply a patch please refer to the FAQ section.

Contents

Build System

make install fails because installation directories do not exist
Releases of SUNDIALS prior to v2.2.0 may not create the installation directories during the configuration stage which causes
make install to fail with the following error message:
/usr/bin/install: cannot create regular file `<install_dir>/libsundials_*.la':
No such file or directory
make[1]: *** [install] Error 1
To remedy this problem simply create the destination directories if they do not already exist.

CVODES

CVadjCheckPointRec or CheckPointRec structure truncates/mangles 64-bit pointers (CVS_P1)
The CVadjCheckPointRec (SUNDIALS v2.2.0) or CheckPointRec (SUNDIALS v2.1.1) structure used by CVODES (not CVODE) for adjoint sensitivity analysis originally stored memory addresses in variables of type unsigned int. However, this approach is clearly problematic on 64-bit platforms since any memory address reference above the 4GB boundary would need to be truncated/mangled to fit into a 32-bit data type. In order to resolve this potential problem, the address variable storage type has been changed to void *.

To update your copy of CVODES, download and apply the appropriate patch:
CVODES v2.3.0-1
CVODES v2.4.0-1

IDA

IDADenseDQJac and IDABandDQJac increment floor issue (IDA_P1)
If you use either the DENSE or BAND direct linear solver module, but do not supply a system Jacobian approximation routine of type IDADenseJacFn or IDABandJacFn via the IDADenseSetJacFn or IDABandSetJacFn function, then you need to be aware of a potential issue with the internal routine. The default function used to compute a difference quotient approximation to the system Jacobian originally allowed the perturbation/increment to be below the absolute tolerance of the corresponding solution component. Consequently, if a given solution component is initially zero and the corresponding absolute tolerance is sufficiently small, then the IDACalcIC routine may exit abnormally with the following error message:
[IDA ERROR] IDACalcIC
  The residual routine or the linear setup or solve routine had a recoverable error, but
  IDACalcIC was unable to recover.
In order to ensure that the perturbation term is appropriately floored, the calculation of the variable inc in IDADenseDQJac and IDABandDQJac needs to be updated.

To update your copy of IDA, download and apply the appropriate patch:
IDA v2.2.0-1
IDA v2.2.1-1
IDA v2.2.2-1
IDA v2.3.0-1
IDA v2.4.0-1