Hi, wsjtx 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/wsjtx_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. [...] cd "/build/reproducible-path/wsjtx-3.0.0~rc1+repack/obj-aarch64-linux-gnu/manpages" && /usr/bin/sed -e '/^.so [^\/]*$/s@.so @&man1\/@' -i.orig man/man1/*.1 cd "/build/reproducible-path/wsjtx-3.0.0~rc1+repack/obj-aarch64-linux-gnu/manpages" && /usr/bin/gzip -f9 man/man1/*.1 [ 38%] Generating man/man1/rigctlcom-wsjtx.1.gz cd "/build/reproducible-path/wsjtx-3.0.0~rc1+repack/obj-aarch64-linux-gnu/manpages" && /usr/bin/cmake -E make_directory man/man1 cd "/build/reproducible-path/wsjtx-3.0.0~rc1+repack/obj-aarch64-linux-gnu/manpages" && /usr/bin/cmake -E copy /build/reproducible-path/wsjtx-3.0.0~rc1+repack/manpages/man1/rigctlcom-wsjtx.1.txt man/man1 cd "/build/reproducible-path/wsjtx-3.0.0~rc1+repack/obj-aarch64-linux-gnu/manpages" && /usr/bin/a2x --format=manpage --xsltproc-opts=--nonet\ -param\ man.endnotes.list.enabled\ 0\ -param\ man.endnotes.are.numbered\ 0 --doctype=manpage --no-xmllint -a VERSION=3.0.0-rc1 man/man1/rigctlcom-wsjtx.1.txt cd "/build/reproducible-path/wsjtx-3.0.0~rc1+repack/obj-aarch64-linux-gnu/manpages" && /usr/bin/cmake -E remove man/man1/rigctlcom-wsjtx.1.txt cd "/build/reproducible-path/wsjtx-3.0.0~rc1+repack/obj-aarch64-linux-gnu/manpages" && /usr/bin/sed -e '/^.so [^\/]*$/s@.so @&man1\/@' -i.orig man/man1/*.1 cd "/build/reproducible-path/wsjtx-3.0.0~rc1+repack/obj-aarch64-linux-gnu/manpages" && /usr/bin/gzip -f9 man/man1/*.1 [ 38%] Generating man/man1/message_aggregator.1.gz cd "/build/reproducible-path/wsjtx-3.0.0~rc1+repack/obj-aarch64-linux-gnu/manpages" && /usr/bin/cmake -E make_directory man/man1 cd "/build/reproducible-path/wsjtx-3.0.0~rc1+repack/obj-aarch64-linux-gnu/manpages" && /usr/bin/cmake -E copy /build/reproducible-path/wsjtx-3.0.0~rc1+repack/manpages/man1/message_aggregator.1.txt man/man1 cd "/build/reproducible-path/wsjtx-3.0.0~rc1+repack/obj-aarch64-linux-gnu/manpages" && /usr/bin/a2x --format=manpage --xsltproc-opts=--nonet\ -param\ man.endnotes.list.enabled\ 0\ -param\ man.endnotes.are.numbered\ 0 --doctype=manpage --no-xmllint -a VERSION=3.0.0-rc1 man/man1/message_aggregator.1.txt cd "/build/reproducible-path/wsjtx-3.0.0~rc1+repack/obj-aarch64-linux-gnu/manpages" && /usr/bin/cmake -E remove man/man1/message_aggregator.1.txt cd "/build/reproducible-path/wsjtx-3.0.0~rc1+repack/obj-aarch64-linux-gnu/manpages" && /usr/bin/sed -e '/^.so [^\/]*$/s@.so @&man1\/@' -i.orig man/man1/*.1 cd "/build/reproducible-path/wsjtx-3.0.0~rc1+repack/obj-aarch64-linux-gnu/manpages" && /usr/bin/gzip -f9 man/man1/*.1 [ 38%] Generating man/man1/udp_daemon.1.gz cd "/build/reproducible-path/wsjtx-3.0.0~rc1+repack/obj-aarch64-linux-gnu/manpages" && /usr/bin/cmake -E make_directory man/man1 cd "/build/reproducible-path/wsjtx-3.0.0~rc1+repack/obj-aarch64-linux-gnu/manpages" && /usr/bin/cmake -E copy /build/reproducible-path/wsjtx-3.0.0~rc1+repack/manpages/man1/udp_daemon.1.txt man/man1 cd "/build/reproducible-path/wsjtx-3.0.0~rc1+repack/obj-aarch64-linux-gnu/manpages" && /usr/bin/a2x --format=manpage --xsltproc-opts=--nonet\ -param\ man.endnotes.list.enabled\ 0\ -param\ man.endnotes.are.numbered\ 0 --doctype=manpage --no-xmllint -a VERSION=3.0.0-rc1 man/man1/udp_daemon.1.txt cd "/build/reproducible-path/wsjtx-3.0.0~rc1+repack/obj-aarch64-linux-gnu/manpages" && /usr/bin/cmake -E remove man/man1/udp_daemon.1.txt cd "/build/reproducible-path/wsjtx-3.0.0~rc1+repack/obj-aarch64-linux-gnu/manpages" && /usr/bin/sed -e '/^.so [^\/]*$/s@.so @&man1\/@' -i.orig man/man1/*.1 cd "/build/reproducible-path/wsjtx-3.0.0~rc1+repack/obj-aarch64-linux-gnu/manpages" && /usr/bin/gzip -f9 man/man1/*.1 make[3]: Leaving directory '/build/reproducible-path/wsjtx-3.0.0~rc1+repack/obj-aarch64-linux-gnu' [ 38%] Built target manpages [ 38%] Linking CXX static library libwsjt_qtmm.a /usr/bin/cmake -P CMakeFiles/wsjt_qtmm.dir/cmake_clean_target.cmake /usr/bin/cmake -E cmake_link_script CMakeFiles/wsjt_qtmm.dir/link.txt --verbose=1 /usr/bin/ar qc libwsjt_qtmm.a CMakeFiles/wsjt_qtmm.dir/wsjt_qtmm_autogen/mocs_compilation.cpp.o CMakeFiles/wsjt_qtmm.dir/Audio/BWFFile.cpp.o /usr/bin/ranlib libwsjt_qtmm.a make[3]: Leaving directory '/build/reproducible-path/wsjtx-3.0.0~rc1+repack/obj-aarch64-linux-gnu' [ 38%] Built target wsjt_qtmm [ 38%] Linking CXX static library libwsjtx_udp.a /usr/bin/cmake -P CMakeFiles/wsjtx_udp-static.dir/cmake_clean_target.cmake /usr/bin/cmake -E cmake_link_script CMakeFiles/wsjtx_udp-static.dir/link.txt --verbose=1 /usr/bin/ar qc libwsjtx_udp.a "CMakeFiles/wsjtx_udp-static.dir/wsjtx_udp-static_autogen/mocs_compilation.cpp.o" "CMakeFiles/wsjtx_udp-static.dir/Radio.cpp.o" "CMakeFiles/wsjtx_udp-static.dir/RadioMetaType.cpp.o" "CMakeFiles/wsjtx_udp-static.dir/Network/NetworkMessage.cpp.o" "CMakeFiles/wsjtx_udp-static.dir/UDPExamples/MessageServer.cpp.o" /usr/bin/ranlib libwsjtx_udp.a make[3]: Leaving directory '/build/reproducible-path/wsjtx-3.0.0~rc1+repack/obj-aarch64-linux-gnu' [ 38%] Built target wsjtx_udp-static /build/reproducible-path/wsjtx-3.0.0~rc1+repack/Transceiver/HRDTransceiver.cpp: In member function ‘QString HRDTransceiver::send_command(const QString&, bool, bool)’: /build/reproducible-path/wsjtx-3.0.0~rc1+repack/Transceiver/HRDTransceiver.cpp:1067:86: error: ‘*<unknown>.HRDMessage::size_’ may be used uninitialized [-Werror=maybe-uninitialized] 1067 | if (!write_to_port (reinterpret_cast<char const *> (message.data ()), message->size_)) | ~~~~~~~~~^~~~~ /build/reproducible-path/wsjtx-3.0.0~rc1+repack/Transceiver/HRDTransceiver.cpp:1084:43: error: ‘*(const HRDMessage*)<unknown>.HRDMessage::magic_1_’ may be used uninitialized [-Werror=maybe-uninitialized] 1084 | if (reply->magic_1_value_ != reply->magic_1_ && reply->magic_2_value_ != reply->magic_2_) | ~~~~~~~^~~~~~~~ /build/reproducible-path/wsjtx-3.0.0~rc1+repack/Transceiver/HRDTransceiver.cpp:1084:87: error: ‘*(const HRDMessage*)<unknown>.HRDMessage::magic_2_’ may be used uninitialized [-Werror=maybe-uninitialized] 1084 | if (reply->magic_1_value_ != reply->magic_1_ && reply->magic_2_value_ != reply->magic_2_) | ~~~~~~~^~~~~~~~ /build/reproducible-path/wsjtx-3.0.0~rc1+repack/Transceiver/HRDTransceiver.cpp:1094:69: error: ‘*(const HRDMessage*)<unknown>.HRDMessage::size_’ may be used uninitialized [-Werror=maybe-uninitialized] 1094 | while (buffer.size () - offsetof (HRDMessage, size_) < reply->size_) | ~~~~~~~^~~~~ /build/reproducible-path/wsjtx-3.0.0~rc1+repack/Transceiver/HRDTransceiver.cpp:1094:69: error: ‘*(const HRDMessage*)<unknown>.HRDMessage::size_’ may be used uninitialized [-Werror=maybe-uninitialized] cc1plus: all warnings being treated as errors make[3]: *** [CMakeFiles/wsjt_qt.dir/build.make:581: CMakeFiles/wsjt_qt.dir/Transceiver/HRDTransceiver.cpp.o] Error 1 make[3]: *** Waiting for unfinished jobs.... make[3]: Leaving directory '/build/reproducible-path/wsjtx-3.0.0~rc1+repack/obj-aarch64-linux-gnu' make[2]: *** [CMakeFiles/Makefile2:2041: CMakeFiles/wsjt_qt.dir/all] Error 2 [ 38%] Linking CXX static library libwsjt_cxx.a /usr/bin/cmake -P CMakeFiles/wsjt_cxx.dir/cmake_clean_target.cmake /usr/bin/cmake -E cmake_link_script CMakeFiles/wsjt_cxx.dir/link.txt --verbose=1 /usr/bin/ar qc libwsjt_cxx.a CMakeFiles/wsjt_cxx.dir/lib/ftrsd/decode_rs.c.o CMakeFiles/wsjt_cxx.dir/lib/ftrsd/encode_rs.c.o CMakeFiles/wsjt_cxx.dir/lib/ftrsd/init_rs.c.o CMakeFiles/wsjt_cxx.dir/lib/ftrsd/ftrsdap.c.o CMakeFiles/wsjt_cxx.dir/lib/sgran.c.o CMakeFiles/wsjt_cxx.dir/lib/golay24_table.c.o CMakeFiles/wsjt_cxx.dir/lib/gran.c.o CMakeFiles/wsjt_cxx.dir/lib/igray.c.o CMakeFiles/wsjt_cxx.dir/lib/init_random_seed.c.o CMakeFiles/wsjt_cxx.dir/lib/ldpc32_table.c.o CMakeFiles/wsjt_cxx.dir/lib/wsprd/nhash.c.o CMakeFiles/wsjt_cxx.dir/lib/tab.c.o CMakeFiles/wsjt_cxx.dir/lib/tmoonsub.c.o CMakeFiles/wsjt_cxx.dir/lib/usleep.c.o CMakeFiles/wsjt_cxx.dir/lib/vit213.c.o CMakeFiles/wsjt_cxx.dir/lib/wisdom.c.o CMakeFiles/wsjt_cxx.dir/lib/wrapkarn.c.o CMakeFiles/wsjt_cxx.dir/lib/qra/qracodes/qra12_63_64_irr_b.c.o CMakeFiles/wsjt_cxx.dir/lib/qra/qracodes/qra13_64_64_irr_e.c.o CMakeFiles/wsjt_cxx.dir/lib/qra/q65/npfwht.c.o CMakeFiles/wsjt_cxx.dir/lib/qra/q65/pdmath.c.o CMakeFiles/wsjt_cxx.dir/lib/qra/q65/qracodes.c.o CMakeFiles/wsjt_cxx.dir/lib/qra/q65/normrnd.c.o CMakeFiles/wsjt_cxx.dir/lib/qra/q65/qra15_65_64_irr_e23.c.o CMakeFiles/wsjt_cxx.dir/lib/qra/q65/q65.c.o CMakeFiles/wsjt_cxx.dir/lib/qra/q65/q65_subs.c.o CMakeFiles/wsjt_cxx.dir/lib/superfox/qpc/dbgprintf.c.o CMakeFiles/wsjt_cxx.dir/lib/superfox/qpc/nhash2.c.o CMakeFiles/wsjt_cxx.dir/lib/superfox/qpc/np_qpc.c.o CMakeFiles/wsjt_cxx.dir/lib/superfox/qpc/np_rnd.c.o CMakeFiles/wsjt_cxx.dir/lib/superfox/qpc/qpc_fwht.c.o CMakeFiles/wsjt_cxx.dir/lib/superfox/qpc/qpc_n127k50q128.c.o CMakeFiles/wsjt_cxx.dir/lib/superfox/qpc/qpc_subs.c.o CMakeFiles/wsjt_cxx.dir/Logger.cpp.o CMakeFiles/wsjt_cxx.dir/lib/crc10.cpp.o CMakeFiles/wsjt_cxx.dir/lib/crc13.cpp.o CMakeFiles/wsjt_cxx.dir/lib/crc14.cpp.o /usr/bin/ranlib libwsjt_cxx.a make[3]: Leaving directory '/build/reproducible-path/wsjtx-3.0.0~rc1+repack/obj-aarch64-linux-gnu' [ 39%] Built target wsjt_cxx make[2]: Leaving directory '/build/reproducible-path/wsjtx-3.0.0~rc1+repack/obj-aarch64-linux-gnu' make[1]: *** [Makefile:159: all] Error 2 make[1]: Leaving directory '/build/reproducible-path/wsjtx-3.0.0~rc1+repack/obj-aarch64-linux-gnu' dh_auto_build: error: cd obj-aarch64-linux-gnu && make -j128 INSTALL="install --strip-program=true" VERBOSE=1 returned exit code 2 make: *** [debian/rules:14: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2