#1133668 wsjtx: ftbfs with GCC-16

Package:
src:wsjtx
Source:
src:wsjtx
Submitter:
Emanuele Rocca
Date:
2026-05-21 18:23:11 UTC
Severity:
normal
Tags:
#1133668#5
Date:
2026-04-13 13:12:49 UTC
From:
To:
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