bugGNU Octave - Bugs: bug #63684, Octave 7.3.0 failed to build with...

 
 

bug #63684: Octave 7.3.0 failed to build with suite-sparse 7.0.0

Submitter:  Rui Chen <chenrui>
Submitted:  Fri 20 Jan 2023 05:37:50 AM UTC
   
 
Category:  Libraries Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Regression
Status:  Fixed Assigned to:  None
Originator Name:  Rui Chen Open/Closed:  * Closed
Release:  * 7.3.0 Operating System:  * Any
Fixed Release:  8.1.0 Planned Release:  8.1.0
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Tue 24 Jan 2023 04:21:16 PM UTC, comment #6: 

yeah, it works for me on the homebrew side as well. Thanks for the patch!

Rui Chen <chenrui>
Sun 22 Jan 2023 01:08:23 PM UTC, comment #5: 

Sorry. That wasn't meant as a criticism. I mainly wanted to let you know that I was working on this.

SuiteSparse in MSYS2 was updated to 7.0.0 in the meantime. I re-triggered the CI and compilation went through.

Closing as fixed.

Markus Mützel <mmuetzel>
Group administrator
Sat 21 Jan 2023 08:39:17 AM UTC, comment #4: 

Thank you for the commit. That was exactly what I meant when commented that my modification needs a version check to be generic.

Just a little note, my previous comment was not intended as a proposed change but just to show how I got octave to build with v7 of suitesparse.

with kind regards,

Sacha Hony

Sacha Hony <sachahony>
Fri 20 Jan 2023 02:34:35 PM UTC, comment #3: 

I pushed a change to the stable branch here that should allow building against the API of SuiteSparse 7.0.0:
https://hg.savannah.gnu.org/hgweb/octave/rev/aaffac4fbe30

Marking as ready for test.

Markus Mützel <mmuetzel>
Group administrator
Fri 20 Jan 2023 08:18:04 AM UTC, comment #2: 

The proposed change in comment #1 would break compatibility with SuiteSparse versions from 4.3.0 until before 7.0.0.

I'm currently working on a backwards compatible change.

Markus Mützel <mmuetzel>
Group administrator
Fri 20 Jan 2023 06:18:34 AM UTC, comment #1: 

I have the following patch to allow building with suitesparse 7. It needs a version check to be more generic

```
--- ./liboctave/util/oct-sparse.h
+++ ./liboctave/util/oct-sparse.h
@@ -94,8 +94,8 @@
 #if defined (SUITESPARSE_VERSION)
 #  if (SUITESPARSE_VERSION >= SUITESPARSE_VER_CODE (4, 3))
 #    define SUITESPARSE_NAME(name) SuiteSparse_ ## name
-#    define SUITESPARSE_ASSIGN_FPTR(f_name, f_var, f_assign) (SuiteSparse_config.f_name = f_assign)
-#    define SUITESPARSE_ASSIGN_FPTR2(f_name, f_var, f_assign) (SuiteSparse_config.f_name = SUITESPARSE_NAME (f_assign))
+#    define SUITESPARSE_ASSIGN_FPTR(f_name, f_var, f_assign) (SuiteSparse_config_##f_name##_set(f_assign))
+#    define SUITESPARSE_ASSIGN_FPTR2(f_name, f_var, f_assign) (SuiteSparse_config_##f_name##_set(SUITESPARSE_NAME (f_assign)))
 #  else
 #    define SUITESPARSE_ASSIGN_FPTR(f_name, f_var, f_assign) (f_var = f_assign)
 #    define SUITESPARSE_ASSIGN_FPTR2(f_name, f_var, f_assign) (f_var = CHOLMOD_NAME (f_assign))

```

Sacha Hony <sachahony>
Fri 20 Jan 2023 05:37:50 AM UTC, original submission:  

:wave: trying to regression build/test octave 7.3.0 release, but ran into some build failure as follows:

```
  libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -Iliboctave -I./liboctave -I./liboctave/array -Iliboctave/numeric -I./liboctave/numeric -Iliboctave/operators -I./liboctave/operators -I./liboctave/system -I./liboctave/util -I./libinterp/octave-value -Ilibinterp -I./libinterp -I./libinterp/operators -Ilibinterp/parse-tree -I./libinterp/parse-tree -Ilibinterp/corefcn -I./libinterp/corefcn -I./liboctave/wrappers -I/opt/homebrew/opt/hdf5/include -I/opt/homebrew/Cellar/graphicsmagick/1.3.40/include/GraphicsMagick -I/opt/homebrew/Cellar/fftw/3.3.10_1/include -I/opt/homebrew/Cellar/fftw/3.3.10_1/include -I/opt/homebrew/opt/freetype/include/freetype2 -I/opt/homebrew/Cellar/fontconfig/2.14.1/include -I/opt/homebrew/opt/freetype/include/freetype2 -I/opt/homebrew/opt/hdf5/include -I/opt/homebrew/opt/qt@5/include -fPIC -pthread -Wall -W -Wshadow -Woverloaded-virtual -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -std=c++14 -c libinterp/corefcn/base-text-renderer.cc  -fno-common -DPIC -o libinterp/corefcn/.libs/libcorefcn_la-base-text-renderer.o
  libinterp/corefcn/amd.cc:154:3: error: use of undeclared identifier 'SuiteSparse_config'
    SUITESPARSE_ASSIGN_FPTR (malloc_func, amd_malloc, malloc);
    ^
  ./liboctave/util/oct-sparse.h:97:63: note: expanded from macro 'SUITESPARSE_ASSIGN_FPTR'
  #    define SUITESPARSE_ASSIGN_FPTR(f_name, f_var, f_assign) (SuiteSparse_config.f_name = f_assign)
                                                                ^
  libinterp/corefcn/amd.cc:155:3: error: use of undeclared identifier 'SuiteSparse_config'
    SUITESPARSE_ASSIGN_FPTR (free_func, amd_free, free);
    ^
  ./liboctave/util/oct-sparse.h:97:63: note: expanded from macro 'SUITESPARSE_ASSIGN_FPTR'
  #    define SUITESPARSE_ASSIGN_FPTR(f_name, f_var, f_assign) (SuiteSparse_config.f_name = f_assign)
                                                                ^
  libinterp/corefcn/amd.cc:156:3: error: use of undeclared identifier 'SuiteSparse_config'
    SUITESPARSE_ASSIGN_FPTR (calloc_func, amd_calloc, calloc);
    ^
  ./liboctave/util/oct-sparse.h:97:63: note: expanded from macro 'SUITESPARSE_ASSIGN_FPTR'
  #    define SUITESPARSE_ASSIGN_FPTR(f_name, f_var, f_assign) (SuiteSparse_config.f_name = f_assign)
                                                                ^
  libinterp/corefcn/amd.cc:157:3: error: use of undeclared identifier 'SuiteSparse_config'
    SUITESPARSE_ASSIGN_FPTR (realloc_func, amd_realloc, realloc);
    ^
  ./liboctave/util/oct-sparse.h:97:63: note: expanded from macro 'SUITESPARSE_ASSIGN_FPTR'
  #    define SUITESPARSE_ASSIGN_FPTR(f_name, f_var, f_assign) (SuiteSparse_config.f_name = f_assign)
                                                                ^
  libinterp/corefcn/amd.cc:158:3: error: use of undeclared identifier 'SuiteSparse_config'
    SUITESPARSE_ASSIGN_FPTR (printf_func, amd_printf, printf);
    ^
  ./liboctave/util/oct-sparse.h:97:63: note: expanded from macro 'SUITESPARSE_ASSIGN_FPTR'
  #    define SUITESPARSE_ASSIGN_FPTR(f_name, f_var, f_assign) (SuiteSparse_config.f_name = f_assign)
                                                                ^
```

relates to https://github.com/Homebrew/homebrew-core/pull/120994

Rui Chen <chenrui>

 

(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 mmuetzel (Posted a comment)
  • -email is unavailable- added by sachahony (Posted a comment)
  • -email is unavailable- added by chenrui (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 8 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2023-01-22 mmuetzel StatusReady For Test Fixed
        Open/ClosedOpen Closed
        Fixed ReleaseNone 8.1.0
    2023-01-20 mmuetzel StatusConfirmed Ready For Test
    2023-01-20 mmuetzel CategoryOther Libraries
        StatusNone Confirmed
        Operating SystemMac OS Any
        Planned ReleaseNone 8.1.0

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code