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

 
 

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

Submitter:  A.R. Burgers <arb>
Submitted:  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
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

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>
Group administrator
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>
Group administrator
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>
Group administrator
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>
Group administrator
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)
  •  

    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 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.13-02a9.
    Corresponding source code