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

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

[Octave-bug-tracker] [bug #55911] building with sundials 3.x does not wa


From: John W. Eaton
Subject: [Octave-bug-tracker] [bug #55911] building with sundials 3.x does not warn in configure that support is disabled
Date: Thu, 14 Mar 2019 03:13:05 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0

Follow-up Comment #12, bug #55911 (project octave):

No, I'm not trying to support 2.7, just 3.1.2.

There are so many possibilities here that it is really complicated.

On my system with Sundials 3.1.2, if I configure without
-I/usr/include/suitesparse in CPPFLAGS (so including <klu.h> will fail), then
I see the following errors unless I disable HAVE_SUNDIALS:


  CXX      libinterp/dldfcn/__ode15___la-__ode15__.lo
/home/jwe/src/octave/libinterp/dldfcn/__ode15__.cc: In function
'_generic_SUNLinearSolver* SUNLinSol_KLU(N_Vector, SUNMatrix)':
/home/jwe/src/octave/libinterp/dldfcn/__ode15__.cc:107:10: error: 'SUNKLU' was
not declared in this scope
   return SUNKLU (y, A);
          ^~~~~~
/home/jwe/src/octave/libinterp/dldfcn/__ode15__.cc:107:10: note: suggested
alternative: 'SUNTRUE'
   return SUNKLU (y, A);
          ^~~~~~
          SUNTRUE
/home/jwe/src/octave/libinterp/dldfcn/__ode15__.cc: In member function 'void
octave::IDA::set_up(const ColumnVector&)':
/home/jwe/src/octave/libinterp/dldfcn/__ode15__.cc:395:60: error: 'CSC_MAT'
was not declared in this scope
         sunJacMatrix = SUNSparseMatrix (num, num, num*num, CSC_MAT);
                                                            ^~~~~~~
/home/jwe/src/octave/libinterp/dldfcn/__ode15__.cc:395:24: error:
'SUNSparseMatrix' was not declared in this scope
         sunJacMatrix = SUNSparseMatrix (num, num, num*num, CSC_MAT);
                        ^~~~~~~~~~~~~~~
/home/jwe/src/octave/libinterp/dldfcn/__ode15__.cc:395:24: note: suggested
alternative: 'SparseMatrix'
         sunJacMatrix = SUNSparseMatrix (num, num, num*num, CSC_MAT);
                        ^~~~~~~~~~~~~~~
                        SparseMatrix
/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:479:5: error:
'SUNMatZero_Sparse' was not declared in this scope
     SUNMatZero_Sparse (Jac);
     ^~~~~~~~~~~~~~~~~
/home/jwe/src/octave/libinterp/dldfcn/__ode15__.cc:479:5: note: suggested
alternative: 'SUNMatZero_Dense'
     SUNMatZero_Sparse (Jac);
     ^~~~~~~~~~~~~~~~~
     SUNMatZero_Dense
/home/jwe/src/octave/libinterp/dldfcn/__ode15__.cc:480:29: error:
'SUNSparseMatrix_IndexPointers' was not declared in this scope
     sunindextype *colptrs = SUNSparseMatrix_IndexPointers (Jac);
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jwe/src/octave/libinterp/dldfcn/__ode15__.cc:480:29: note: suggested
alternative: 'SUNDenseMatrix_Print'
     sunindextype *colptrs = SUNSparseMatrix_IndexPointers (Jac);
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                             SUNDenseMatrix_Print
/home/jwe/src/octave/libinterp/dldfcn/__ode15__.cc:481:29: error:
'SUNSparseMatrix_IndexValues' was not declared in this scope
     sunindextype *rowvals = SUNSparseMatrix_IndexValues (Jac);
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jwe/src/octave/libinterp/dldfcn/__ode15__.cc:481:29: note: suggested
alternative: 'SUNDenseMatrix_Column'
     sunindextype *rowvals = SUNSparseMatrix_IndexValues (Jac);
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~
                             SUNDenseMatrix_Column
/home/jwe/src/octave/libinterp/dldfcn/__ode15__.cc:486:17: error:
'SUNSparseMatrix_Data' was not declared in this scope
     double *d = SUNSparseMatrix_Data (Jac);
                 ^~~~~~~~~~~~~~~~~~~~
/home/jwe/src/octave/libinterp/dldfcn/__ode15__.cc:486:17: note: suggested
alternative: 'SUNDenseMatrix_Data'
     double *d = SUNSparseMatrix_Data (Jac);
                 ^~~~~~~~~~~~~~~~~~~~
                 SUNDenseMatrix_Data
make: *** [Makefile:19238: libinterp/dldfcn/__ode15___la-__ode15__.lo] Error
1


which is why I added the extra condition:


    && test "x$ac_cv_header_sunlinsol_sunlinsol_klu_h" = xyes \


in configure.ac.  Maybe a better thing to do would be this patch:

http://hg.savannah.gnu.org/hgweb/octave/rev/5042a568771a

The vague error message that I added about disabling SUNDIALS because
"something is missing" was an expression of frustration because there are too
may possibilities here and it is really complicated!

    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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