Bug#1133460: dune-geometry: ftbfs with GCC-16
Emanuele Rocca
ema at debian.org
Mon Apr 13 14:02:51 BST 2026
Package: src:dune-geometry
Version: 2.11.0-2
Severity: important
Tags: sid forky ftbfs
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-16
Hi,
dune-geometry fails to build in a test rebuild on at least amd64 and arm64 with
gcc-16/g++-16, but builds properly with gcc-15/g++-15. The severity of this
report will be raised before the forky release.
The full build log can be found at:
https://people.debian.org/~ema/gcc-16-rebuilds/output-1/dune-geometry_arm64.build.xz
The last lines of the build log are at the end of this report.
To build with GCC 16, either set CC=gcc-16 CXX=g++-16 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.
apt-get -t=experimental install g++
Common build failures include unused (but set) variables, array subscripts
partly outside array bounds, and new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-16/porting_to.html
Please only close this issue after double-checking that the package can be
built correctly with GCC 16.
Please do not reassign this bug to another package. If a fix in another package
is required, then file a bug for the other package (or clone), and mark this
bug as blocked by the bug in the other package.
[...]
In member function ‘Dune::MappedGeometry<Map, Geo>::GlobalCoordinate Dune::MappedGeometry<Map, Geo>::corner(int) const [with Map = AffineMapping<double, 3, 4>; Geo = Dune::Impl::LocalDerivativeGeometry<Dune::MultiLinearGeometry<double, 3, 3, Dune::MultiLinearGeometryTraits<double> > >]’,
inlined from ‘bool Dune::checkGeometry(const TestGeometry&) [with TestGeometry = MappedGeometry<AffineMapping<double, 3, 4>, Impl::LocalDerivativeGeometry<MultiLinearGeometry<double, 3, 3, MultiLinearGeometryTraits<double> > > >]’ at /build/reproducible-path/dune-geometry-2.11.0/dune/geometry/test/checkgeometry.hh:124:56:
/build/reproducible-path/dune-geometry-2.11.0/dune/geometry/mappedgeometry.hh:158:38: note: parameter passing for argument of type ‘Dune::FieldVector<double, 3>’ when C++17 is enabled changed to match C++14 in GCC 10.1
158 | return mapping()(geometry_.corner(i));
| ~~~~~~~~~~~~~~~~^~~
/build/reproducible-path/dune-geometry-2.11.0/dune/geometry/test/checkgeometry.hh: In function ‘bool Dune::checkGeometry(const TestGeometry&) [with TestGeometry = MappedGeometry<AffineMapping<double, 3, 4>, Impl::LocalDerivativeGeometry<MultiLinearGeometry<double, 3, 3, MultiLinearGeometryTraits<double> > > >]’:
/build/reproducible-path/dune-geometry-2.11.0/dune/geometry/test/checkgeometry.hh:178:29: note: parameter passing for argument of type ‘Dune::FieldVector<double, 4>’ when C++17 is enabled changed to match C++14 in GCC 10.1
178 | if( (geometry.corner( i ) - geometry.global( refElement.position( i, mydim ) )).two_norm() > tolerance )
| ~~~~~~~~~~~~~~~^~~~~
In member function ‘Dune::MappedGeometry<Map, Geo>::GlobalCoordinate Dune::MappedGeometry<Map, Geo>::corner(int) const [with Map = AffineMapping<double, 3, 4>; Geo = Dune::Impl::LocalDerivativeGeometry<Dune::MultiLinearGeometry<double, 3, 3, Dune::MultiLinearGeometryTraits<double> > >]’,
inlined from ‘bool Dune::checkGeometry(const TestGeometry&) [with TestGeometry = MappedGeometry<AffineMapping<double, 3, 4>, Impl::LocalDerivativeGeometry<MultiLinearGeometry<double, 3, 3, MultiLinearGeometryTraits<double> > > >]’ at /build/reproducible-path/dune-geometry-2.11.0/dune/geometry/test/checkgeometry.hh:178:29:
/build/reproducible-path/dune-geometry-2.11.0/dune/geometry/mappedgeometry.hh:158:38: note: parameter passing for argument of type ‘Dune::FieldVector<double, 3>’ when C++17 is enabled changed to match C++14 in GCC 10.1
158 | return mapping()(geometry_.corner(i));
| ~~~~~~~~~~~~~~~~^~~
/build/reproducible-path/dune-geometry-2.11.0/dune/geometry/test/checkgeometry.hh: In function ‘bool Dune::checkGeometry(const TestGeometry&) [with TestGeometry = MappedGeometry<AffineMapping<double, 3, 4>, Impl::LocalDerivativeGeometry<MultiLinearGeometry<double, 3, 3, MultiLinearGeometryTraits<double> > > >]’:
/build/reproducible-path/dune-geometry-2.11.0/dune/geometry/test/checkgeometry.hh:67:8: note: parameter passing for argument of type ‘Dune::FieldVector<double, 4>’ when C++17 is enabled changed to match C++14 in GCC 10.1
67 | bool checkGeometry ( const TestGeometry& geometry )
| ^~~~~~~~~~~~~
/build/reproducible-path/dune-geometry-2.11.0/dune/geometry/test/checkgeometry.hh:67:8: note: parameter passing for argument of type ‘Dune::FieldVector<double, 3>’ when C++17 is enabled changed to match C++14 in GCC 10.1
/build/reproducible-path/dune-geometry-2.11.0/dune/geometry/test/checkgeometry.hh:67:8: note: parameter passing for argument of type ‘Dune::FieldVector<double, 4>’ when C++17 is enabled changed to match C++14 in GCC 10.1
/build/reproducible-path/dune-geometry-2.11.0/dune/geometry/test/checkgeometry.hh:67:8: note: parameter passing for argument of type ‘Dune::FieldVector<double, 3>’ when C++17 is enabled changed to match C++14 in GCC 10.1
/build/reproducible-path/dune-geometry-2.11.0/dune/geometry/test/checkgeometry.hh:67:8: note: parameter passing for argument of type ‘Dune::FieldVector<double, 4>’ when C++17 is enabled changed to match C++14 in GCC 10.1
/build/reproducible-path/dune-geometry-2.11.0/dune/geometry/test/checkgeometry.hh:67:8: note: parameter passing for argument of type ‘Dune::FieldVector<double, 3>’ when C++17 is enabled changed to match C++14 in GCC 10.1
/build/reproducible-path/dune-geometry-2.11.0/dune/geometry/test/checkgeometry.hh:67:8: note: parameter passing for argument of type ‘Dune::FieldVector<double, 4>’ when C++17 is enabled changed to match C++14 in GCC 10.1
/build/reproducible-path/dune-geometry-2.11.0/dune/geometry/test/checkgeometry.hh:67:8: note: parameter passing for argument of type ‘Dune::FieldVector<double, 3>’ when C++17 is enabled changed to match C++14 in GCC 10.1
In member function ‘Dune::MappedGeometry<Map, Geo>::GlobalCoordinate Dune::MappedGeometry<Map, Geo>::corner(int) const [with Map = AffineMapping<double, 3, 4>; Geo = Dune::Impl::LocalDerivativeGeometry<Dune::MultiLinearGeometry<double, 3, 3, Dune::MultiLinearGeometryTraits<double> > >]’,
inlined from ‘bool Dune::checkGeometry(const TestGeometry&) [with TestGeometry = MappedGeometry<AffineMapping<double, 3, 4>, Impl::LocalDerivativeGeometry<MultiLinearGeometry<double, 3, 3, MultiLinearGeometryTraits<double> > > >]’ at /build/reproducible-path/dune-geometry-2.11.0/dune/geometry/test/checkgeometry.hh:114:35:
/build/reproducible-path/dune-geometry-2.11.0/dune/geometry/mappedgeometry.hh:158:21: note: parameter passing for argument of type ‘Dune::FieldVector<double, 4>’ when C++17 is enabled changed to match C++14 in GCC 10.1
158 | return mapping()(geometry_.corner(i));
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In member function ‘Dune::MappedGeometry<Map, Geo>::GlobalCoordinate Dune::MappedGeometry<Map, Geo>::center() const [with Map = AffineMapping<double, 3, 4>; Geo = Dune::Impl::LocalDerivativeGeometry<Dune::MultiLinearGeometry<double, 3, 3, Dune::MultiLinearGeometryTraits<double> > >]’,
inlined from ‘bool Dune::checkGeometry(const TestGeometry&) [with TestGeometry = MappedGeometry<AffineMapping<double, 3, 4>, Impl::LocalDerivativeGeometry<MultiLinearGeometry<double, 3, 3, MultiLinearGeometryTraits<double> > > >]’ at /build/reproducible-path/dune-geometry-2.11.0/dune/geometry/test/checkgeometry.hh:117:52:
/build/reproducible-path/dune-geometry-2.11.0/dune/geometry/mappedgeometry.hh:164:38: note: parameter passing for argument of type ‘Dune::FieldVector<double, 3>’ when C++17 is enabled changed to match C++14 in GCC 10.1
164 | return mapping()(geometry_.center());
| ~~~~~~~~~~~~~~~~^~
/build/reproducible-path/dune-geometry-2.11.0/dune/geometry/mappedgeometry.hh:164:21: note: parameter passing for argument of type ‘Dune::FieldVector<double, 4>’ when C++17 is enabled changed to match C++14 in GCC 10.1
164 | return mapping()(geometry_.center());
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
/build/reproducible-path/dune-geometry-2.11.0/dune/geometry/test/checkgeometry.hh: In function ‘bool Dune::checkGeometry(const TestGeometry&) [with TestGeometry = MappedGeometry<AffineMapping<double, 3, 4>, Impl::LocalDerivativeGeometry<MultiLinearGeometry<double, 3, 3, MultiLinearGeometryTraits<double> > > >]’:
/build/reproducible-path/dune-geometry-2.11.0/dune/geometry/test/checkgeometry.hh:200:31: note: parameter passing for argument of type ‘Dune::FieldVector<double, 3>’ when C++17 is enabled changed to match C++14 in GCC 10.1
200 | if ( (x - geometry.local( geometry.global( x ) )).two_norm() > tolerance ) {
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
In member function ‘Dune::MappedGeometry<Map, Geo>::GlobalCoordinate Dune::MappedGeometry<Map, Geo>::center() const [with Map = AffineMapping<double, 3, 4>; Geo = Dune::Impl::LocalDerivativeGeometry<Dune::MultiLinearGeometry<double, 3, 3, Dune::MultiLinearGeometryTraits<double> > >]’,
inlined from ‘bool Dune::checkGeometry(const TestGeometry&) [with TestGeometry = MappedGeometry<AffineMapping<double, 3, 4>, Impl::LocalDerivativeGeometry<MultiLinearGeometry<double, 3, 3, MultiLinearGeometryTraits<double> > > >]’ at /build/reproducible-path/dune-geometry-2.11.0/dune/geometry/test/checkgeometry.hh:117:52:
/build/reproducible-path/dune-geometry-2.11.0/dune/geometry/mappedgeometry.hh:164:21: note: parameter passing for argument of type ‘Dune::FieldVector<double, 4>’ when C++17 is enabled changed to match C++14 in GCC 10.1
164 | return mapping()(geometry_.center());
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
/build/reproducible-path/dune-geometry-2.11.0/dune/geometry/test/test-multilineargeometry.cc: In function ‘bool testNonLinearGeometry(const Traits&) [with ctype = double; Traits = Dune::MultiLinearGeometryTraits<double>]’:
/build/reproducible-path/dune-geometry-2.11.0/dune/geometry/test/test-multilineargeometry.cc:309:40: note: parameter passing for argument of type ‘Dune::FieldVector<double, 2>’ when C++17 is enabled changed to match C++14 in GCC 10.1
309 | const Vector global(geometry.global(local));
| ~~~~~~~~~~~~~~~^~~~~~~
[ 90%] Linking CXX executable test-multilineargeometry
cd /build/reproducible-path/dune-geometry-2.11.0/build/dune/geometry/test && /usr/bin/cmake -E cmake_link_script CMakeFiles/test-multilineargeometry.dir/link.txt --verbose=1
/usr/bin/c++ -g -O2 -ffile-prefix-map=/build/reproducible-path/dune-geometry-2.11.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,--dependency-file=CMakeFiles/test-multilineargeometry.dir/link.d "CMakeFiles/test-multilineargeometry.dir/test-multilineargeometry.cc.o" -o test-multilineargeometry -Wl,-rpath,/build/reproducible-path/dune-geometry-2.11.0/build/lib ../../../lib/libdunegeometry.so.2.11 /usr/lib/aarch64-linux-gnu/libdunecommon.so.2.11 /usr/lib/aarch64-linux-gnu/liblapack.so /usr/lib/aarch64-linux-gnu/libblas.so
make[5]: Leaving directory '/build/reproducible-path/dune-geometry-2.11.0/build'
[ 90%] Built target test-multilineargeometry
[ 93%] Linking CXX executable test-mappedgeometry
cd /build/reproducible-path/dune-geometry-2.11.0/build/dune/geometry/test && /usr/bin/cmake -E cmake_link_script CMakeFiles/test-mappedgeometry.dir/link.txt --verbose=1
/usr/bin/c++ -g -O2 -ffile-prefix-map=/build/reproducible-path/dune-geometry-2.11.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,--dependency-file=CMakeFiles/test-mappedgeometry.dir/link.d "CMakeFiles/test-mappedgeometry.dir/test-mappedgeometry.cc.o" -o test-mappedgeometry -Wl,-rpath,/build/reproducible-path/dune-geometry-2.11.0/build/lib ../../../lib/libdunegeometry.so.2.11 /usr/lib/aarch64-linux-gnu/libdunecommon.so.2.11 /usr/lib/aarch64-linux-gnu/liblapack.so /usr/lib/aarch64-linux-gnu/libblas.so
make[5]: Leaving directory '/build/reproducible-path/dune-geometry-2.11.0/build'
[ 93%] Built target test-mappedgeometry
make[4]: Leaving directory '/build/reproducible-path/dune-geometry-2.11.0/build'
make[3]: *** [CMakeFiles/Makefile2:1295: CMakeFiles/build_tests.dir/rule] Error 2
make[3]: Leaving directory '/build/reproducible-path/dune-geometry-2.11.0/build'
make[2]: *** [Makefile:546: build_tests] Error 2
make[2]: Leaving directory '/build/reproducible-path/dune-geometry-2.11.0/build'
dh_auto_build: error: cd build && make -j128 INSTALL="install --strip-program=true" build_tests VERBOSE=1 returned exit code 2
make[1]: *** [/usr/share/dune/dune-debian.mk:38: override_dh_auto_test] Error 25
make[1]: Leaving directory '/build/reproducible-path/dune-geometry-2.11.0'
make: *** [debian/rules:12: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
More information about the debian-science-maintainers
mailing list