bugGNU Octave - Bugs: bug #59248, configure is still testing for a...

 
 

bug #59248: configure is still testing for a function (IDADense) which does not exists anymore in sundials

Submitter:  None
Submitted:  Sun 11 Oct 2020 07:39:14 PM UTC
 
Category:  Configuration and Build System Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Build Failure
Status:  Fixed Assigned to:  None
Originator Name:  Wolfgang Walthes Originator Email:  -email is unavailable-
Open/Closed:  * Closed Release:  * 6.0.90
Operating System:  * Any Fixed Release:  None
Planned Release:  None
* Mandatory Fields

Add a New Comment (Rich Markup)
   

Comment Type & Canned Response:
       

 

Wed 21 Oct 2020 03:28:49 AM UTC, comment #5: 

Thanks for the change Markus 🙂

It took me some while to confirm the problem, as I have not seen any trouble with it on openSUSE Linux 15.2 with SUNDIALS 5.3.0 installed, as the OP reports.

The problem was (BEFORE Markus change) seen on my system deep buried in "config.log":

configure:82216: checking whether SUNDIALS IDA includes the SUNLINSOL_DENSE linear solver
configure:82251: gcc -c -g -O2 -pthread -fopenmp      conftest.c >&5
conftest.c: In function 'main':
conftest.c:616:10: warning: implicit declaration of function 'IDADense'; did you mean 'IDAFree'? [-Wimplicit-function-declaration]
          IDADense (mem, num);
          ^~~~~~~~
          IDAFree

Thus my system kind of ignored the test 😨

After Markus change

configure:82206: checking sunlinsol/sunlinsol_dense.h usability
configure:82206: gcc -c -g -O2 -pthread -fopenmp      conftest.c >&5
configure:82206: $? = 0
configure:82206: result: yes
configure:82206: checking sunlinsol/sunlinsol_dense.h presence
configure:82206: gcc -E      conftest.c
configure:82206: $? = 0
configure:82206: result: yes
configure:82206: checking for sunlinsol/sunlinsol_dense.h
configure:82206: result: yes

Thus it works, closing report.

Kai Torben Ohlhus <siko1056>
Project Member
Thu 15 Oct 2020 01:18:09 PM UTC, comment #4: 

Hopefully fixed here:
https://hg.savannah.gnu.org/hgweb/octave/rev/8592190176a8

Marking as ready for test (again).

Markus Mützel <mmuetzel>
Project Member
Thu 15 Oct 2020 12:32:33 PM UTC, comment #3: 

That turns out to be more complicated than what I hoped it would be.
The configure output contains:

checking for SUNDenseLinearSolver... yes
checking whether SUNDIALS API provides the necessary functions... yes

Yet compilation fails with:

../src/libinterp/dldfcn/__ode15__.cc: In function ‘_generic_SUNLinearSolver* octave::SUNLinSol_Dense(N_Vector, SUNMatrix)’:
../src/libinterp/dldfcn/__ode15__.cc:103:12: error: ‘SUNDenseLinearSolver’ was not declared in this scope; did you mean ‘SUNLinearSolver’?
  103 |     return SUNDenseLinearSolver (y, A);
      |            ^~~~~~~~~~~~~~~~~~~~
      |            SUNLinearSolver
../src/libinterp/dldfcn/__ode15__.cc: In member function ‘void octave::IDA::set_up(const ColumnVector&)’:
../src/libinterp/dldfcn/__ode15__.cc:420:26: error: ‘SUNDenseMatrix’ was not declared in this scope; did you mean ‘SUNMatrix’?
  420 |         m_sunJacMatrix = SUNDenseMatrix (m_num, m_num);
      |                          ^~~~~~~~~~~~~~
      |                          SUNMatrix
../src/libinterp/dldfcn/__ode15__.cc: In member function ‘void octave::IDA::jacdense_impl(realtype, realtype, _generic_N_Vector*&, _generic_N_Vector*&, _generic_SUNMatrix*&)’:
../src/libinterp/dldfcn/__ode15__.cc:457:16: error: ‘SUNDenseMatrix_Data’ was not declared in this scope
  457 |                SUNDenseMatrix_Data (JJ));
      |                ^~~~~~~~~~~~~~~~~~~
make[2]: *** [Makefile:19642: libinterp/dldfcn/__ode15___la-__ode15__.lo] Error 1
make[2]: *** Waiting for unfinished jobs....

That's probably because I removed the test `AC_CHECK_HEADERS([sunlinsol/sunlinsol_dense.h])`. I am currently trying to find the best place to add that back in.

Markus Mützel <mmuetzel>
Project Member
Thu 15 Oct 2020 10:50:45 AM UTC, comment #2: 

I pushed a changeset that removes that configure check here:
https://hg.savannah.gnu.org/hgweb/octave/rev/34a83d34038e

Marking as ready for test.

Markus Mützel <mmuetzel>
Project Member
Mon 12 Oct 2020 11:41:04 AM UTC, comment #1: 

Confirmed.
Support for SUNDIALS versions older than 3.0 has been removed from Octave 6.
The configure test for IDADense is probably just a left-over and can be removed.
It looks like the corresponding macro HAVE_SUNDIALS_SUNLINSOL_DENSE is nowhere used any more.

Markus Mützel <mmuetzel>
Project Member
Sun 11 Oct 2020 07:39:14 PM UTC, original submission:  

Since sundials-3.0.0 the function IDADENSE is no more available in the package. (I am using sundials-5.4.0 on a linux and macos system)
This function was available until sundials-2.7.0. (at least to my knowledge)
In the configure file (until octave version 7.0.0) is still code testing the availability of DENSE in sundials:

example for octave 5.2

  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether SUNDIALS IDA includes the IDADENSE linear solver" >&5
$as_echo_n "checking whether SUNDIALS IDA includes the IDADENSE linear solver... " >&6; }
if ${octave_cv_sundials_ida_dense+:} false; then :
  $as_echo_n "(cached) " >&6
else
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */

         #if defined (HAVE_IDA_IDA_DENSE_H)
         #include <ida/ida_dense.h>
         #else
         #include <ida_dense.h>
         #endif

#ifdef F77_DUMMY_MAIN

#  ifdef __cplusplus
     extern "C"
#  endif
   int F77_DUMMY_MAIN() { return 1; }

#endif
int
main ()
{

         void *mem = 0;
         long int num = 0;
         IDADense (mem, num);

  ;
  return 0;
}

as this test delivers always a negative feedback, the result is always:

warn_sundials_ida_dense="SUNDIALS IDA library does not include the IDADENSE linear solver, ode15i and ode15s will be disabled"

Please double check and in case you can confirm please use a valid function to test for DENSE.

Anonymous

 

(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 siko1056 (Posted a comment)
  • -email is unavailable- added by mmuetzel (Posted a comment)
  • -email is unavailable- added by None (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 project members can vote.

     

     

     

     

    Follow 7 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2020-10-21 siko1056 StatusReady For Test Fixed
        Open/ClosedOpen Closed
    2020-10-15 mmuetzel StatusIn Progress Ready For Test
    2020-10-15 mmuetzel StatusReady For Test In Progress
    2020-10-15 mmuetzel StatusConfirmed Ready For Test
    2020-10-12 mmuetzel StatusNone Confirmed
        Release5.2.0 6.0.90

    Back to the top

    Powered by Savane 3.9