Hi, mir 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/mir_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. [...] | ^~~~~~~~ /build/reproducible-path/mir-2.25.2/src/common/dispatch/utils.h:30:23: error: ‘FdEvents’ was not declared in this scope 30 | int fd_event_to_epoll(FdEvents const& event); | ^~~~~~~~ make[3]: *** [src/common/CMakeFiles/mircommon.dir/build.make:236: src/common/CMakeFiles/mircommon.dir/dispatch/readable_fd.cpp.o] Error 1 /build/reproducible-path/mir-2.25.2/include/common/mir/dispatch/action_queue.h:40:19: error: ‘FdEvents’ has not been declared 40 | bool dispatch(FdEvents events) override; | ^~~~~~~~ /build/reproducible-path/mir-2.25.2/include/common/mir/dispatch/action_queue.h:41:5: error: ‘FdEvents’ does not name a type 41 | FdEvents relevant_events() const override; | ^~~~~~~~ /build/reproducible-path/mir-2.25.2/src/common/dispatch/action_queue.cpp:43:6: error: ‘bool mir::dispatch::ActionQueue::dispatch’ is not a static data member of ‘class mir::dispatch::ActionQueue’ 43 | bool mir::dispatch::ActionQueue::dispatch(FdEvents events) | ^~~ /build/reproducible-path/mir-2.25.2/src/common/dispatch/action_queue.cpp:43:43: error: ‘FdEvents’ was not declared in this scope 43 | bool mir::dispatch::ActionQueue::dispatch(FdEvents events) | ^~~~~~~~ /build/reproducible-path/mir-2.25.2/src/common/dispatch/action_queue.cpp:68:16: error: ‘FdEvents’ in namespace ‘mir::dispatch’ does not name a type 68 | mir::dispatch::FdEvents mir::dispatch::ActionQueue::relevant_events() const | ^~~~~~~~ /build/reproducible-path/mir-2.25.2/src/common/dispatch/multiplexing_dispatchable.cpp:47:19: error: ‘md::FdEvents’ has not been declared 47 | bool dispatch(md::FdEvents events) override | ^~ /build/reproducible-path/mir-2.25.2/src/common/dispatch/multiplexing_dispatchable.cpp:57:9: error: ‘FdEvents’ in namespace ‘md’ does not name a type 57 | md::FdEvents relevant_events() const override | ^~~~~~~~ /build/reproducible-path/mir-2.25.2/src/common/dispatch/multiplexing_dispatchable.cpp: In member function ‘virtual bool {anonymous}::DispatchableAdaptor::dispatch(int)’: /build/reproducible-path/mir-2.25.2/src/common/dispatch/multiplexing_dispatchable.cpp:49:26: error: ‘md::FdEvent’ has not been declared 49 | if (events & md::FdEvent::error) | ^~~~~~~ /build/reproducible-path/mir-2.25.2/src/common/dispatch/multiplexing_dispatchable.cpp: At global scope: /build/reproducible-path/mir-2.25.2/src/common/dispatch/multiplexing_dispatchable.cpp:98:6: error: ‘bool mir::dispatch::MultiplexingDispatchable::dispatch’ is not a static data member of ‘class mir::dispatch::MultiplexingDispatchable’ 98 | bool md::MultiplexingDispatchable::dispatch(md::FdEvents events) | ^~ /build/reproducible-path/mir-2.25.2/src/common/dispatch/multiplexing_dispatchable.cpp:98:49: error: ‘FdEvents’ is not a member of ‘md’ 98 | bool md::MultiplexingDispatchable::dispatch(md::FdEvents events) | ^~~~~~~~ /build/reproducible-path/mir-2.25.2/src/common/dispatch/multiplexing_dispatchable.cpp:147:5: error: ‘FdEvents’ in namespace ‘md’ does not name a type 147 | md::FdEvents md::MultiplexingDispatchable::relevant_events() const | ^~~~~~~~ /build/reproducible-path/mir-2.25.2/src/common/dispatch/multiplexing_dispatchable.cpp: In member function ‘void mir::dispatch::MultiplexingDispatchable::add_watch(const std::shared_ptr<mir::dispatch::Dispatchable>&, mir::dispatch::DispatchReentrancy)’: /build/reproducible-path/mir-2.25.2/src/common/dispatch/multiplexing_dispatchable.cpp:171:46: error: ‘using std::__shared_ptr_access<mir::dispatch::Dispatchable, __gnu_cxx::_S_atomic, false, false>::element_type = class mir::dispatch::Dispatchable’ {aka ‘class mir::dispatch::Dispatchable’} has no member named ‘relevant_events’ 171 | e.events = fd_event_to_epoll(dispatchee->relevant_events()); | ^~~~~~~~~~~~~~~ /build/reproducible-path/mir-2.25.2/src/common/dispatch/multiplexing_dispatchable.cpp:171:63: error: ‘mir::dispatch::fd_event_to_epoll’ cannot be used as a function 171 | e.events = fd_event_to_epoll(dispatchee->relevant_events()); | ^ make[3]: *** [src/common/CMakeFiles/mircommon.dir/build.make:208: src/common/CMakeFiles/mircommon.dir/dispatch/action_queue.cpp.o] Error 1 make[3]: *** [src/common/CMakeFiles/mircommon.dir/build.make:222: src/common/CMakeFiles/mircommon.dir/dispatch/multiplexing_dispatchable.cpp.o] Error 1 make[3]: Leaving directory '/build/reproducible-path/mir-2.25.2/build-arm64' [ 11%] Built target mir-test-doubles-udev [ 11%] Linking CXX static library libGMock.a /usr/bin/cmake -P CMakeFiles/GMock.dir/cmake_clean_target.cmake /usr/bin/cmake -E cmake_link_script CMakeFiles/GMock.dir/link.txt --verbose=1 /usr/bin/ar qc libGMock.a "CMakeFiles/GMock.dir/usr/src/googletest/googlemock/src/gmock-all.cc.o" /usr/bin/ranlib libGMock.a make[3]: Leaving directory '/build/reproducible-path/mir-2.25.2/build-arm64' [ 11%] Built target GMock [ 11%] Linking CXX executable ../../../bin/mir_wayland_generator cd /build/reproducible-path/mir-2.25.2/build-arm64/src/wayland/generator && /usr/bin/cmake -E cmake_link_script CMakeFiles/mir_wayland_generator.dir/link.txt --verbose=1 /usr/bin/c++ -g -O2 -ffile-prefix-map=/build/reproducible-path/mir-2.25.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -g -Wall -fno-strict-aliasing -pedantic -Wnon-virtual-dtor -Wextra -fPIC -Wno-mismatched-tags -Wno-psabi -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,--no-undefined -Wl,--dependency-file=CMakeFiles/mir_wayland_generator.dir/link.d CMakeFiles/mir_wayland_generator.dir/wrapper_generator.cpp.o CMakeFiles/mir_wayland_generator.dir/utils.cpp.o CMakeFiles/mir_wayland_generator.dir/enum.cpp.o CMakeFiles/mir_wayland_generator.dir/argument.cpp.o CMakeFiles/mir_wayland_generator.dir/method.cpp.o CMakeFiles/mir_wayland_generator.dir/request.cpp.o CMakeFiles/mir_wayland_generator.dir/event.cpp.o CMakeFiles/mir_wayland_generator.dir/interface.cpp.o CMakeFiles/mir_wayland_generator.dir/global.cpp.o CMakeFiles/mir_wayland_generator.dir/emitter.cpp.o -o ../../../bin/mir_wayland_generator /usr/lib/aarch64-linux-gnu/libxml++-2.6.so /usr/lib/aarch64-linux-gnu/libxml2.so /usr/lib/aarch64-linux-gnu/libglibmm-2.4.so /usr/lib/aarch64-linux-gnu/libgobject-2.0.so /usr/lib/aarch64-linux-gnu/libglib-2.0.so /usr/lib/aarch64-linux-gnu/libsigc-2.0.so make[3]: Leaving directory '/build/reproducible-path/mir-2.25.2/build-arm64' [ 11%] Built target mir_wayland_generator make[3]: Leaving directory '/build/reproducible-path/mir-2.25.2/build-arm64' make[2]: *** [CMakeFiles/Makefile2:4666: src/common/CMakeFiles/mircommon.dir/all] Error 2 make[2]: Leaving directory '/build/reproducible-path/mir-2.25.2/build-arm64' make[1]: *** [Makefile:149: all] Error 2 make[1]: Leaving directory '/build/reproducible-path/mir-2.25.2/build-arm64' dh_auto_build: error: cd build-arm64 && make -j128 INSTALL="install --strip-program=true" VERBOSE=1 returned exit code 2 make: *** [debian/rules:21: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2