Bug#1037650: fenics-basix: ftbfs with GCC-13

Matthias Klose doko at debian.org
Wed Jun 14 10:24:00 BST 2023


Package: src:fenics-basix
Version: 0.5.1-1
Severity: normal
Tags: sid trixie
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-13

[This bug is targeted to the upcoming trixie release]

Please keep this issue open in the bug tracker for the package it
was filed for.  If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.

The package fails to build in a test rebuild on at least amd64 with
gcc-13/g++-13, but succeeds to build with gcc-12/g++-12. The
severity of this report will be raised before the trixie release.

The full build log can be found at:
http://qa-logs.debian.net/2023/05/22/logs/fenics-basix_0.5.1-1_unstable_gccexp.log
The last lines of the build log are at the end of this report.

To build with GCC 13, either set CC=gcc-13 CXX=g++-13 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.

  apt-get -t=experimental install g++ 

Common build failures are new warnings resulting in build failures with
-Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-13/porting_to.html

[...]
 1404 |         for (std::uint32_t r = 0; r < (cell_info >> (3 * f + 1) & 3); ++r)
      |                                                                    ^
/<<PKGBUILDDIR>>/cpp/basix/finite-element.cpp:1399:24: note: ‘std::size_t f’ is not const
 1399 |       for (std::size_t f = 0; f < _edofs[2].size(); ++f)
      |                        ^
/<<PKGBUILDDIR>>/cpp/basix/finite-element.cpp:1404:68: error: the value of ‘f’ is not usable in a constant expression
 1404 |         for (std::uint32_t r = 0; r < (cell_info >> (3 * f + 1) & 3); ++r)
      |                                                                    ^
/<<PKGBUILDDIR>>/cpp/basix/finite-element.cpp:1399:24: note: ‘std::size_t f’ is not const
 1399 |       for (std::size_t f = 0; f < _edofs[2].size(); ++f)
      |                        ^
/<<PKGBUILDDIR>>/cpp/basix/finite-element.cpp:1404:68: error: the value of ‘f’ is not usable in a constant expression
 1404 |         for (std::uint32_t r = 0; r < (cell_info >> (3 * f + 1) & 3); ++r)
      |                                                                    ^
/<<PKGBUILDDIR>>/cpp/basix/finite-element.cpp:1399:24: note: ‘std::size_t f’ is not const
 1399 |       for (std::size_t f = 0; f < _edofs[2].size(); ++f)
      |                        ^
/<<PKGBUILDDIR>>/cpp/basix/finite-element.cpp:1404:68: error: the value of ‘f’ is not usable in a constant expression
 1404 |         for (std::uint32_t r = 0; r < (cell_info >> (3 * f + 1) & 3); ++r)
      |                                                                    ^
/<<PKGBUILDDIR>>/cpp/basix/finite-element.cpp:1399:24: note: ‘std::size_t f’ is not const
 1399 |       for (std::size_t f = 0; f < _edofs[2].size(); ++f)
      |                        ^
/<<PKGBUILDDIR>>/cpp/basix/finite-element.cpp:1404:68: error: the value of ‘f’ is not usable in a constant expression
 1404 |         for (std::uint32_t r = 0; r < (cell_info >> (3 * f + 1) & 3); ++r)
      |                                                                    ^
/<<PKGBUILDDIR>>/cpp/basix/finite-element.cpp:1399:24: note: ‘std::size_t f’ is not const
 1399 |       for (std::size_t f = 0; f < _edofs[2].size(); ++f)
      |                        ^
/<<PKGBUILDDIR>>/cpp/basix/finite-element.cpp:1404:68: error: the value of ‘f’ is not usable in a constant expression
 1404 |         for (std::uint32_t r = 0; r < (cell_info >> (3 * f + 1) & 3); ++r)
      |                                                                    ^
/<<PKGBUILDDIR>>/cpp/basix/finite-element.cpp:1399:24: note: ‘std::size_t f’ is not const
 1399 |       for (std::size_t f = 0; f < _edofs[2].size(); ++f)
      |                        ^
/<<PKGBUILDDIR>>/cpp/basix/finite-element.cpp:1404:35: error: ‘r’ was not declared in this scope
 1404 |         for (std::uint32_t r = 0; r < (cell_info >> (3 * f + 1) & 3); ++r)
      |                                   ^
/<<PKGBUILDDIR>>/cpp/basix/finite-element.cpp:1405:40: error: no matching function for call to ‘apply_permutation(const __gnu_cxx::__alloc_traits<std::allocator<std::vector<long unsigned int> >, std::vector<long unsigned int> >::value_type&, const int&, int&)’
 1405 |           precompute::apply_permutation(trans[0], dofs, dofstart);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/cpp/basix/precompute.h:117:6: note: candidate: ‘template<class E> void basix::precompute::apply_permutation(const std::span<const long unsigned int>&, const std::span<_Type, 18446744073709551615>&, std::size_t, std::size_t)’
  117 | void apply_permutation(const std::span<const std::size_t>& perm,
      |      ^~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/cpp/basix/precompute.h:117:6: note:   template argument deduction/substitution failed:
/<<PKGBUILDDIR>>/cpp/basix/finite-element.cpp:1405:40: note:   mismatched types ‘const std::span<_Type, 18446744073709551615>’ and ‘const int’
 1405 |           precompute::apply_permutation(trans[0], dofs, dofstart);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/cpp/basix/finite-element.cpp:1409:40: error: no matching function for call to ‘apply_permutation(const __gnu_cxx::__alloc_traits<std::allocator<std::vector<long unsigned int> >, std::vector<long unsigned int> >::value_type&, const int&, int&)’
 1409 |           precompute::apply_permutation(trans[1], dofs, dofstart);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/cpp/basix/precompute.h:117:6: note: candidate: ‘template<class E> void basix::precompute::apply_permutation(const std::span<const long unsigned int>&, const std::span<_Type, 18446744073709551615>&, std::size_t, std::size_t)’
  117 | void apply_permutation(const std::span<const std::size_t>& perm,
      |      ^~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/cpp/basix/precompute.h:117:6: note:   template argument deduction/substitution failed:
/<<PKGBUILDDIR>>/cpp/basix/finite-element.cpp:1409:40: note:   mismatched types ‘const std::span<_Type, 18446744073709551615>’ and ‘const int’
 1409 |           precompute::apply_permutation(trans[1], dofs, dofstart);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
make[4]: *** [CMakeFiles/basix.dir/build.make:163: CMakeFiles/basix.dir/basix/moments.cpp.o] Error 1
make[4]: *** [CMakeFiles/basix.dir/build.make:107: CMakeFiles/basix.dir/basix/finite-element.cpp.o] Error 1
make[4]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
make[3]: *** [CMakeFiles/Makefile2:86: CMakeFiles/basix.dir/all] Error 2
make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
make[2]: *** [Makefile:139: all] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
dh_auto_build: error: cd obj-x86_64-linux-gnu && make -j8 "INSTALL=install --strip-program=true" VERBOSE=1 returned exit code 2
make[1]: *** [debian/rules:50: override_dh_auto_build-indep] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:31: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the debian-science-maintainers mailing list