bugGNU Octave - Bugs: bug #59833, compilation fails on sparse-qr if...

 
 

bug #59833: compilation fails on sparse-qr if configured with --disable-64

Submitted by:  A.R. Burgers <arb>
Submitted on:  Wed 06 Jan 2021 02:42:28 PM UTC  
 
Category:  Configuration and Build System Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Build Failure
Status:  Fixed Assigned to:  None
Originator Name:  Open/Closed:  Closed
Release:  dev Operating System:  Any

Add a New Comment (Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

( Jump to the original submission)

Sat 09 Jan 2021 10:36:12 AM UTC, comment #7: 

This should be fixed with this change (for bug #57033):
https://hg.savannah.gnu.org/hgweb/octave/rev/fed765133d53

Closing report.

Markus Mützel <mmuetzel>
Project Member
Thu 07 Jan 2021 12:57:28 PM UTC, comment #6: 

building without --disable-64 works, with the suitesparse version I had installed.

I hadn't attempted building octave 64-bit on my platform for a long time, since I couldn't get it to build, but dev did build without any issues, passes all tests.

So I guess a good moment to switch to 64-bit for me (and upgrade to a more recent suitesparse version).

A.R. Burgers <arb>
Thu 07 Jan 2021 11:54:06 AM UTC, comment #5: 

I can confirm the error during compilation when configuring with `--disable-64`.

Using file #50671 from bug #57033 allows me to build successfully with that configuration

However, using qr (e.g. with `test spaugment`) fails with error -4 (CHOLMOD_INVALID /* failure: invalid input */). So it still doesn't work after that change...

I'll comment on bug #50761 for the probable cause.

Markus Mützel <mmuetzel>
Project Member
Thu 07 Jan 2021 09:27:54 AM UTC, comment #4: 

good hunch, yes I did use --disable-64

A.R. Burgers <arb>
Thu 07 Jan 2021 09:21:55 AM UTC, comment #3: 

Do you have configured with `--disable-64`? If so, this might be caused by us using the wrong integer pointer types which might cause the signatures to not match. See also bug #57033 (starting at around comment #38 there).

Markus Mützel <mmuetzel>
Project Member
Wed 06 Jan 2021 07:32:18 PM UTC, comment #2: 

I have:

find . | grep -i 'suit.*conf'
./share/doc/suitesparse-4.5.4/SUITESPARSECONFIG_README.txt
./include/suitesparse/SuiteSparse_config.h
./include/suitesparse/cholmod_config.h
./lib/libsuitesparseconfig.so
./lib/libsuitesparseconfig.so.4
./lib/libsuitesparseconfig.so.4.5.4

and

 find . | grep spqr
./share/doc/suitesparse-4.5.4/spqr_user_guide.pdf
./include/suitesparse/spqr.hpp
./lib/libspqr.so
./lib/libspqr.so.2
./lib/libspqr.so.2.0.8

A.R. Burgers <arb>
Wed 06 Jan 2021 06:13:15 PM UTC, comment #1: 

Which version of SuiteSparse - or more specifically SPQR - do you have installed?
The approx. 8.5 years old version here declares the function with the signature we are using:
https://github.com/PetterS/SuiteSparse/blob/27e5a8516464a6ac40bd3fa0e5b46e51b11f4765/SPQR/Include/SuiteSparseQR.hpp#L431

Markus Mützel <mmuetzel>
Project Member
Wed 06 Jan 2021 02:42:28 PM UTC, original submission:  

a recent dev version fails to build with QR related errors, whereas the build was successful up to recently.

cfg output:

  SPQR CPPFLAGS:
  SPQR LDFLAGS:
  SPQR libraries:                -lspqr
  SuiteSparse config libraries:  -lsuitesparseconfig -lrt

more cfg output:

checking suitesparse/cholmod.h usability... yes
checking suitesparse/cholmod.h presence... yes
checking for suitesparse/cholmod.h... yes
checking for cholmod_start in -lcholmod... yes
checking suitesparse/SuiteSparseQR.hpp usability... yes
checking suitesparse/SuiteSparseQR.hpp presence... yes
checking for suitesparse/SuiteSparseQR.hpp... yes
checking for SuiteSparseQR_C in -lspqr... yes
checking suitesparse/cs.h usability... yes
checking suitesparse/cs.h presence... yes
checking for suitesparse/cs.h... yes
checking for cs_di_sqr in -lcxsparse... yes
checking whether CXSparse is version 2.2 or later... yes

This is the first error, involving a mismatch in argument numbers:

  CXX      liboctave/numeric/liboctave_numeric_libnumeric_la-sparse-qr.lo
../octave/liboctave/numeric/sparse-qr.cc: In constructor 'octave::math::sparse_qr<SPARSE_T>::sparse_qr_rep::sparse_qr_rep(const SPARSE_T&, int) [with SPARSE_T = SparseMatrix]':
../octave/liboctave/numeric/sparse-qr.cc:265:54: error: no matching function for call to 'SuiteSparseQR<double>(int&, int, const size_t&, cholmod_sparse*, cholmod_sparse**, octave::suitesparse_integer**, cholmod_sparse**, octave::suitesparse_integer**, cholmod_dense**, cholmod_common*)'
  265 |                              &m_HPinv, &m_Htau, &m_cc);
      |                                                      ^
In file included from ../octave/liboctave/util/oct-sparse.h:97,
                 from ../octave/liboctave/numeric/sparse-qr.cc:39:
/opt/apps/shared/burgersar/x86_64/include/suitesparse/SuiteSparseQR.hpp:353:44: note: candidate: 'long int SuiteSparseQR(int, double, long int, int, cholmod_sparse*, cholmod_sparse*, cholmod_dense*, cholmod_sparse**, cholmod_dense**, cholmod_sparse**, long int**, cholmod_sparse**, long int**, cholmod_dense**, cholmod_common*) [with Entry = double; cholmod_sparse = cholmod_sparse_struct; cholmod_dense = cholmod_dense_struct; cholmod_common = cholmod_common_struct]'
  353 | template <typename Entry> SuiteSparse_long SuiteSparseQR
      |                                            ^~~~~~~~~~~~~
/opt/apps/shared/burgersar/x86_64/include/suitesparse/SuiteSparseQR.hpp:353:44: note:   candidate expects 15 arguments, 10 provided
/opt/apps/shared/burgersar/x86_64/include/suitesparse/SuiteSparseQR.hpp:391:42: note: candidate: 'cholmod_dense* SuiteSparseQR(int, double, cholmod_sparse*, cholmod_dense*, cholmod_common*) [with Entry = double; cholmod_dense = cholmod_dense_struct; cholmod_sparse = cholmod_sparse_struct; cholmod_common = cholmod_common_struct]'
  391 | template <typename Entry> cholmod_dense *SuiteSparseQR
      |                                          ^~~~~~~~~~~~~

A.R. Burgers <arb>

 

(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

Digest:
   bug dependencies.

Items that depend on this one: None found

 

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

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.

     

     

     

    Follow 7 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2021-01-09 mmuetzel StatusConfirmed => Fixed
        Open/ClosedOpen => Closed
        Summarycompilation fails on sparse qr => compilation fails on sparse-qr if configured with --disable-64
    2021-01-07 mmuetzel StatusNeed Info => Confirmed
        Operating SystemGNU/Linux => Any
        Dependencies- => Depends on bugs #57033
    2021-01-06 mmuetzel StatusNone => Need Info

    Back to the top


    Powered by Savane 3.7