Package: autoconf Version: 2.72-6 Severity: important Justification: causing GCC 16 FTBFSes in other packages Tags: upstream Forwarded: https://savannah.gnu.org/support/index.php?110879
Hi, See https://savannah.gnu.org/support/index.php?110879. It looks like autoconf decided to default to -std=gnu++11 when nothing is specified. This results in stuff like dh_auto_configure -- --without-docs --disable-werror ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --runstatedir=/run --disable-maintainer-mode --disable-dependency-tracking --without-docs --disable-werror checking for a BSD-compatible install... /usr/bin/install -c checking whether sleep supports fractional seconds... yes checking filesystem timestamp resolution... 0.01 checking whether build environment is sane... yes checking for a race-free mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking xargs -n works... yes checking whether UID '1000' is supported by ustar format... yes checking whether GID '1000' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking whether make supports the include directive... yes (GNU style) checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... none needed checking whether gcc understands -c and -o together... yes checking dependency style of gcc... none checking for ar... ar checking the archiver (ar) interface... ar checking for gcc... (cached) gcc checking whether the compiler supports GNU C... (cached) yes checking whether gcc accepts -g... (cached) yes checking for gcc option to enable C11 features... (cached) none needed checking whether gcc understands -c and -o together... (cached) yes checking dependency style of gcc... (cached) none checking how to run the C preprocessor... gcc -E checking for g++... g++ checking whether the compiler supports GNU C++... yes checking whether g++ accepts -g... yes checking for g++ option to enable C++11 features... -std=gnu++11 checking dependency style of g++ -std=gnu++11... none or checking whether x86_64-linux-gnu-g++ supports C++20... yes (-std=c++20) checking whether std::atomic can be used without link library... yes checking whether x86_64-linux-gnu-g++ supports C++11 without Language Defect 757... yes checking whether x86_64-linux-gnu-g++ supports -fno-sized-deallocation... yes checking whether x86_64-linux-gnu-g++ supports C++2a constinit sorted vectors... no checking whether x86_64-linux-gnu-g++ implements C++ DR P1155R3... yes checking whether x86_64-linux-gnu-g++ supports C++20 std::atomic_ref... yes checking whether x86_64-linux-gnu-g++ supports -Wdeprecated-copy-dtor... yes checking whether x86_64-linux-gnu-g++ might report false -Werror=maybe-uninitialized... no checking whether x86_64-linux-gnu-g++ might report false -Werror=stringop-overflow=... no checking whether x86_64-linux-gnu-g++ -std=gnu++11 can compile SSE2 intrinsics... yes checking whether x86_64-linux-gnu-g++ -std=gnu++11 can compile SSSE3 intrinsics... yes checking whether x86_64-linux-gnu-g++ -std=gnu++11 can compile SSE4.1 intrinsics... yes checking whether x86_64-linux-gnu-g++ -std=gnu++11 can compile SSE4.2 intrinsics... yes checking whether x86_64-linux-gnu-g++ -std=gnu++11 can compile AVX intrinsics... yes checking whether x86_64-linux-gnu-g++ -std=gnu++11 can compile AVX2 intrinsics... yes checking whether x86_64-linux-gnu-g++ -std=gnu++11 can compile AVX512 intrinsics... yes checking whether x86_64-linux-gnu-g++ -std=gnu++11 can compile F16C intrinsics... yes checking whether x86_64-linux-gnu-g++ -std=gnu++11 can compile FMA intrinsics... yes here even changing inbetween. That now breaks with gcc 16 apparently. See e.g. #1133513 and #1133524 and libreoffice got a workaround in https://gerrit.libreoffice.org/c/core/+/202511 (where the second paste is from) before knowing it was autoconf. There's more stuff affected, like e.g. https://bugs.openmpt.org/view.php?id=1701 Please revert. This is https://savannah.gnu.org/support/index.php?110879 upstream. One can successfully hack around it like # work around autoconf unhelpfully adding -std=gnu++11 which breaks with gcc 16 SYSTEM_GCC_VERSION = $(shell gcc --version | sed -n '/^gcc/s/.*\(..\..\)\../\1/p' | cut -d" " -f1 | cut -d. -f1) ifeq "$(shell test $(SYSTEM_GCC_VERSION) -ge 16 && echo true)" "true" export DEB_CXXFLAGS_MAINT_APPEND += -std=gnu++17 endif but that of course is extremely hacky and fixing autoconf would be better. Regards, Rene

