Skip to content

Build does not work with gcc 15.1.0 #251

@joehellmersNOAA

Description

@joehellmersNOAA

This looks like a problem with SuperLU when using gcc 15.1.0 (see below). The same exact system (Ubuntu 24.04.3 LTS) works with gcc 13.3.0 and gcc 14.2.0

If I modify the version of SuperLU to the latest (7.0.0) the build works with gcc 15.1.0. I do get bunch of warning messages

#pragma message: WARNING: SuperLU headers not found; using built-in definitions

On executing cmake...

[ 11%] Building C object SRC/CMakeFiles/superlu.dir/sgstrs.c.o
[ 12%] Building C object SRC/CMakeFiles/superlu.dir/scopy_to_ucol.c.o
/home/jlhellmers/github/csrc-sdsu/mole/build/third_party_build/superlu-5.3.0/SRC/sgstrs.c:334:1: error: conflicting types for 'sprint_soln'; have 'void(int,  int,  float *)'
  334 | sprint_soln(int n, int nrhs, float *soln)
      | ^~~~~~~~~~~
/home/jlhellmers/github/csrc-sdsu/mole/build/third_party_build/superlu-5.3.0/SRC/sgstrs.c:115:10: note: previous declaration of 'sprint_soln' with type 'void(void)'
  115 |     void sprint_soln();
      |          ^~~~~~~~~~~
make[2]: *** [SRC/CMakeFiles/superlu.dir/build.make:510: SRC/CMakeFiles/superlu.dir/sgstrs.c.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:895: SRC/CMakeFiles/superlu.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
[  0%] Building C object SRC/CMakeFiles/superlu.dir/sgstrs.c.o
/home/jlhellmers/github/csrc-sdsu/mole/build/third_party_build/superlu-5.3.0/SRC/sgstrs.c:334:1: error: conflicting types for 'sprint_soln'; have 'void(int,  int,  float *)'
  334 | sprint_soln(int n, int nrhs, float *soln)
      | ^~~~~~~~~~~
/home/jlhellmers/github/csrc-sdsu/mole/build/third_party_build/superlu-5.3.0/SRC/sgstrs.c:115:10: note: previous declaration of 'sprint_soln' with type 'void(void)'
  115 |     void sprint_soln();
      |          ^~~~~~~~~~~
make[2]: *** [SRC/CMakeFiles/superlu.dir/build.make:510: SRC/CMakeFiles/superlu.dir/sgstrs.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:895: SRC/CMakeFiles/superlu.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
-- *** set cmake policy CMP0025 to NEW

This looks to be causing the make to fail

[ 15%] Building CXX object tests/cpp/CMakeFiles/test1.dir/test1.cpp.o
In file included from /home/jlhellmers/github/csrc-sdsu/mole/build/third_party_install/armadillo-14.2.2/include/armadillo:114,
                 from /home/jlhellmers/github/csrc-sdsu/mole/src/cpp/utils.h:19,
                 from /home/jlhellmers/github/csrc-sdsu/mole/src/cpp/divergence.h:19,
                 from /home/jlhellmers/github/csrc-sdsu/mole/src/cpp/mole.h:19,
                 from /home/jlhellmers/github/csrc-sdsu/mole/tests/cpp/test1.cpp:1:
/home/jlhellmers/github/csrc-sdsu/mole/build/third_party_install/armadillo-14.2.2/include/armadillo_bits/include_superlu.hpp:232:84: note: '#pragma message: WARNING: SuperLU headers not found; using built-in definitions'
  232 |   #pragma message ("WARNING: SuperLU headers not found; using built-in definitions")
      |                                                                                    ^
make[2]: *** No rule to make target 'third_party_install/superlu-5.3.0/lib/libsuperlu.a', needed by 'tests/cpp/test1'.  Stop.
make[1]: *** [CMakeFiles/Makefile2:327: tests/cpp/CMakeFiles/test1.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions