Source: getfem
Version: 5.4.4+dfsg1-5
Severity: normal
Tags: ftbfs
Control: forwarded -1 https://savannah.nongnu.org/bugs/index.php?68083

The debian getfem package has been configured to build using MUMPS as
the linear solver.  But it is also supposed to be able to build
against SuperLU.

MUMPS is not available for hppa or powerpc, so I configured the getfem
build to use SuperLU on these architectures, configuring with 
`--enable-superlu --disable-mumps`

However getfem fails to build against SuperLU.
The debian build logs are

hppa:  
https://buildd.debian.org/status/fetch.php?pkg=getfem&arch=hppa&ver=5.4.4%2Bdfsg1-6&stamp=1771777630&raw=0

powerpc:  
https://buildd.debian.org/status/fetch.php?pkg=getfem&arch=powerpc&ver=5.4.4%2Bdfsg1-6&stamp=1771773521&raw=0

But I can also reproduce the problem locally on amd64.

This is with SuperLU provided by libsuperlu-dev 7.0.1+dfsg1-2+b1

I've reported the issue upstream at
https://savannah.nongnu.org/bugs/index.php?68083

An extract from the build log is:

g++ -DHAVE_CONFIG_H -I. -I.. -I../src/getfem -I../src/gmm  -I../src -I../src 
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time 
-D_FORTIFY_SOURCE=2 -I/usr/local/include     -Wall -g -O2 
-ffile-prefix-map=/build/reproducible-path/getfem-5.4.4+dfsg1=. 
-fstack-protector-strong -Wformat -Werror=format-security -O3 
-fmessage-length=0 -fvisibility-inlines-hidden -ftemplate-depth-100 -std=c++14 
-fPIC -Wall -W -Wextra -Wshadow -Wno-unknown-pragmas -Wno-variadic-macros 
-Wno-unused-but-set-variable -Wpointer-arith -Wcast-qual -Wwrite-strings 
-Wconversion -Wredundant-decls -Wno-long-long -c -o test_mesh_im_level_set.o 
test_mesh_im_level_set.cc
In file included from /usr/include/c++/15/atomic:53,
                 from ../src/getfem/getfem_omp.h:41,
                 from ../src/getfem/dal_singleton.h:49,
                 from ../src/getfem/bgeot_small_vector.h:40,
                 from ../src/getfem/bgeot_tensor.h:40,
                 from ../src/getfem/bgeot_convex_structure.h:43,
                 from ../src/getfem/bgeot_mesh_structure.h:42,
                 from ../src/getfem/bgeot_mesh.h:41,
                 from ../src/getfem/getfem_mesh.h:43,
                 from ../src/getfem/getfem_mesh_fem.h:41,
                 from ../src/getfem/getfem_assembling_tensors.h:41,
                 from ../src/getfem/getfem_assembling.h:45,
                 from test_range_basis.cc:27:
/usr/include/c++/15/cstdint:58:11: error: ‘int_fast8_t’ has not been declared 
in ‘::’
   58 |   using ::int_fast8_t;
      |           ^~~~~~~~~~~
/usr/include/c++/15/cstdint:59:11: error: ‘int_fast16_t’ has not been declared 
in ‘::’
   59 |   using ::int_fast16_t;
      |           ^~~~~~~~~~~~
/usr/include/c++/15/cstdint:60:11: error: ‘int_fast32_t’ has not been declared 
in ‘::’
   60 |   using ::int_fast32_t;
      |           ^~~~~~~~~~~~
/usr/include/c++/15/cstdint:61:11: error: ‘int_fast64_t’ has not been declared 
in ‘::’
   61 |   using ::int_fast64_t;
      |           ^~~~~~~~~~~~
/usr/include/c++/15/cstdint:63:11: error: ‘int_least8_t’ has not been declared 
in ‘::’
   63 |   using ::int_least8_t;
      |           ^~~~~~~~~~~~
/usr/include/c++/15/cstdint:64:11: error: ‘int_least16_t’ has not been declared 
in ‘::’
   64 |   using ::int_least16_t;
      |           ^~~~~~~~~~~~~
/usr/include/c++/15/cstdint:65:11: error: ‘int_least32_t’ has not been declared 
in ‘::’
   65 |   using ::int_least32_t;
      |           ^~~~~~~~~~~~~
/usr/include/c++/15/cstdint:66:11: error: ‘int_least64_t’ has not been declared 
in ‘::’
   66 |   using ::int_least64_t;
      |           ^~~~~~~~~~~~~
/usr/include/c++/15/cstdint:68:11: error: ‘intmax_t’ has not been declared in 
‘::’
   68 |   using ::intmax_t;
      |           ^~~~~~~~
/usr/include/c++/15/cstdint:69:11: error: ‘intptr_t’ has not been declared in 
‘::’
   69 |   using ::intptr_t;
      |           ^~~~~~~~
/usr/include/c++/15/cstdint:71:11: error: ‘uint8_t’ has not been declared in 
‘::’
   71 |   using ::uint8_t;
      |           ^~~~~~~
/usr/include/c++/15/cstdint:72:11: error: ‘uint16_t’ has not been declared in 
‘::’
   72 |   using ::uint16_t;
      |           ^~~~~~~~
/usr/include/c++/15/cstdint:73:11: error: ‘uint32_t’ has not been declared in 
‘::’
   73 |   using ::uint32_t;
      |           ^~~~~~~~
/usr/include/c++/15/cstdint:74:11: error: ‘uint64_t’ has not been declared in 
‘::’
   74 |   using ::uint64_t;
      |           ^~~~~~~~
/usr/include/c++/15/cstdint:76:11: error: ‘uint_fast8_t’ has not been declared 
in ‘::’
   76 |   using ::uint_fast8_t;
      |           ^~~~~~~~~~~~
/usr/include/c++/15/cstdint:77:11: error: ‘uint_fast16_t’ has not been declared 
in ‘::’
   77 |   using ::uint_fast16_t;
      |           ^~~~~~~~~~~~~
/usr/include/c++/15/cstdint:78:11: error: ‘uint_fast32_t’ has not been declared 
in ‘::’
   78 |   using ::uint_fast32_t;
      |           ^~~~~~~~~~~~~
/usr/include/c++/15/cstdint:79:11: error: ‘uint_fast64_t’ has not been declared 
in ‘::’
   79 |   using ::uint_fast64_t;
      |           ^~~~~~~~~~~~~
/usr/include/c++/15/cstdint:81:11: error: ‘uint_least8_t’ has not been declared 
in ‘::’
   81 |   using ::uint_least8_t;
      |           ^~~~~~~~~~~~~
/usr/include/c++/15/cstdint:82:11: error: ‘uint_least16_t’ has not been 
declared in ‘::’
   82 |   using ::uint_least16_t;
      |           ^~~~~~~~~~~~~~
/usr/include/c++/15/cstdint:83:11: error: ‘uint_least32_t’ has not been 
declared in ‘::’
   83 |   using ::uint_least32_t;
      |           ^~~~~~~~~~~~~~
/usr/include/c++/15/cstdint:84:11: error: ‘uint_least64_t’ has not been 
declared in ‘::’
   84 |   using ::uint_least64_t;
      |           ^~~~~~~~~~~~~~
/usr/include/c++/15/cstdint:86:11: error: ‘uintmax_t’ has not been declared in 
‘::’
   86 |   using ::uintmax_t;
      |           ^~~~~~~~~
/usr/include/c++/15/cstdint:87:11: error: ‘uintptr_t’ has not been declared in 
‘::’
   87 |   using ::uintptr_t;
      |           ^~~~~~~~~
/usr/include/c++/15/atomic:1123:18: error: ‘uint8_t’ was not declared in this 
scope; did you mean ‘SuperLU::uint8_t’?
 1123 |   typedef atomic<uint8_t>               atomic_uint8_t;
      |                  ^~~~~~~
      |                  SuperLU::uint8_t
In file included from /usr/include/stdint.h:37,
                 from /usr/lib/gcc/powerpc-linux-gnu/15/include/stdint.h:11,
                 from /usr/include/inttypes.h:27,
                 from /usr/include/superlu/slu_util.h:27,
                 from ../src/gmm/gmm_superlu_interface.h:68,
                 from ../src/gmm/gmm_solver_Schwarz_additive.h:43,
                 from ../src/gmm/gmm_iter_solvers.h:100,
                 from ../src/gmm/gmm.h:44,
                 from test_range_basis.cc:26:
/usr/include/powerpc-linux-gnu/bits/stdint-uintn.h:24:19: note: 
‘SuperLU::uint8_t’ declared here
   24 | typedef __uint8_t uint8_t;
      |                   ^~~~~~~
/usr/include/c++/15/atomic:1123:25: error: template argument 1 is invalid
 1123 |   typedef atomic<uint8_t>               atomic_uint8_t;
      |                         ^
/usr/include/c++/15/atomic:1129:18: error: ‘uint16_t’ was not declared in this 
scope; did you mean ‘SuperLU::uint16_t’?
 1129 |   typedef atomic<uint16_t>              atomic_uint16_t;
      |                  ^~~~~~~~
      |                  SuperLU::uint16_t
/usr/include/powerpc-linux-gnu/bits/stdint-uintn.h:25:20: note: 
‘SuperLU::uint16_t’ declared here
   25 | typedef __uint16_t uint16_t;
      |                    ^~~~~~~~
/usr/include/c++/15/atomic:1129:26: error: template argument 1 is invalid
 1129 |   typedef atomic<uint16_t>              atomic_uint16_t;
      |                          ^
/usr/include/c++/15/atomic:1135:18: error: ‘uint32_t’ was not declared in this 
scope; did you mean ‘SuperLU::uint32_t’?
 1135 |   typedef atomic<uint32_t>              atomic_uint32_t;
      |                  ^~~~~~~~
      |                  SuperLU::uint32_t
/usr/include/powerpc-linux-gnu/bits/stdint-uintn.h:26:20: note: 
‘SuperLU::uint32_t’ declared here
   26 | typedef __uint32_t uint32_t;
      |                    ^~~~~~~~
/usr/include/c++/15/atomic:1135:26: error: template argument 1 is invalid
 1135 |   typedef atomic<uint32_t>              atomic_uint32_t;
      |                          ^
/usr/include/c++/15/atomic:1141:18: error: ‘uint64_t’ was not declared in this 
scope; did you mean ‘SuperLU::uint64_t’?
 1141 |   typedef atomic<uint64_t>              atomic_uint64_t;
      |                  ^~~~~~~~
      |                  SuperLU::uint64_t
/usr/include/powerpc-linux-gnu/bits/stdint-uintn.h:27:20: note: 
‘SuperLU::uint64_t’ declared here
   27 | typedef __uint64_t uint64_t;
      |                    ^~~~~~~~
/usr/include/c++/15/atomic:1141:26: error: template argument 1 is invalid
 1141 |   typedef atomic<uint64_t>              atomic_uint64_t;
      |                          ^

Reply via email to