#1133584 octave-instrument-control: ftbfs with GCC-16

#1133584#5
Date:
2026-04-13 13:08:43 UTC
From:
To:
Hi,

octave-instrument-control 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/octave-instrument-control_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.

[...]


make[2]: *** [../common.mk:33: __udpport_properties__.o] Error 1
make[2]: *** [../common.mk:33: __spi_properties__.o] Error 1
make[2]: *** [../common.mk:33: spi_class.o] Error 1
make[2]: *** [../common.mk:33: tcp_write.o] Error 1
make[2]: *** [../common.mk:33: __udp_properties__.o] Error 1
make[2]: *** [../common.mk:33: tcpclient.o] Error 1
make[2]: *** [../common.mk:33: __srl_properties__.o] Error 1
make[2]: *** [../common.mk:33: spi_close.o] Error 1
make[2]: *** [../common.mk:33: pp_datadir.o] Error 1
make[2]: *** [../common.mk:33: __tcpserver_read__.o] Error 1
make[2]: Leaving directory '/tmp/oct-uC4zBn/octave-instrument-control-0.10.0/src/tcpserver'
make[1]: *** [Makefile:16: tcpserver] Error 2
make[1]: *** Waiting for unfinished jobs....
make[2]: *** [../common.mk:33: __udpport_read__.o] Error 1
make[2]: *** [../common.mk:33: tcp.o] Error 1
make[2]: *** [../common.mk:33: i2c_addr.o] Error 1
make[2]: *** [../common.mk:33: udpport_class.o] Error 1
make[2]: Leaving directory '/tmp/oct-uC4zBn/octave-instrument-control-0.10.0/src/udpport'
make[1]: *** [Makefile:16: udpport] Error 2
make[2]: *** [../common.mk:33: parallel.o] Error 1
make[2]: *** [../common.mk:33: spi.o] Error 1
/usr/bin/mkoctfile --verbose vxi11.o vxi11_write.o vxi11_close.o vxi11_read.o __vxi11_pkg_lock__.o   -o ../vxi11.oct
g++ -I/usr/include/octave-11.1.0/octave/.. -I/usr/include/octave-11.1.0/octave  -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-instrument-control-0.10.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard  -o ../vxi11.oct  vxi11.o vxi11_write.o vxi11_close.o vxi11_read.o __vxi11_pkg_lock__.o   -shared -Wl,-Bsymbolic -Wl,-z,relro  -flto=auto -ffat-lto-objects -Wl,-z,relro
make[2]: Leaving directory '/tmp/oct-uC4zBn/octave-instrument-control-0.10.0/src/tcpclient'
make[1]: *** [Makefile:16: tcpclient] Error 2
make[2]: Leaving directory '/tmp/oct-uC4zBn/octave-instrument-control-0.10.0/src/vxi11'
make[2]: *** [../common.mk:33: pp_data.o] Error 1
make[2]: Leaving directory '/tmp/oct-uC4zBn/octave-instrument-control-0.10.0/src/i2c'
make[1]: *** [Makefile:16: i2c] Error 2
make[2]: Leaving directory '/tmp/oct-uC4zBn/octave-instrument-control-0.10.0/src/spi'
make[1]: *** [Makefile:16: spi] Error 2
/usr/bin/mkoctfile --verbose visadev.o visadevlist.o __visadev_pkg_lock__.o   -o ../visadev.oct
g++ -I/usr/include/octave-11.1.0/octave/.. -I/usr/include/octave-11.1.0/octave  -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-instrument-control-0.10.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard  -o ../visadev.oct  visadev.o visadevlist.o __visadev_pkg_lock__.o   -shared -Wl,-Bsymbolic -Wl,-z,relro  -flto=auto -ffat-lto-objects -Wl,-z,relro
/usr/bin/mkoctfile --verbose resolvehost.o    -o ../resolvehost.oct
g++ -I/usr/include/octave-11.1.0/octave/.. -I/usr/include/octave-11.1.0/octave  -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-instrument-control-0.10.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard  -o ../resolvehost.oct  resolvehost.o   -shared -Wl,-Bsymbolic -Wl,-z,relro  -flto=auto -ffat-lto-objects -Wl,-z,relro
make[2]: *** [../common.mk:33: udp.o] Error 1
make[2]: Leaving directory '/tmp/oct-uC4zBn/octave-instrument-control-0.10.0/src/udp'
make[1]: *** [Makefile:16: udp] Error 2
make[2]: Leaving directory '/tmp/oct-uC4zBn/octave-instrument-control-0.10.0/src/visadev'
make[2]: Leaving directory '/tmp/oct-uC4zBn/octave-instrument-control-0.10.0/src/resolvehost'
make[2]: Leaving directory '/tmp/oct-uC4zBn/octave-instrument-control-0.10.0/src/serialport'
make[1]: *** [Makefile:16: serialport] Error 2
make[2]: *** [../common.mk:33: serial_class_lin.o] Error 1
make[2]: Leaving directory '/tmp/oct-uC4zBn/octave-instrument-control-0.10.0/src/usbtmc'
make[1]: *** [Makefile:16: usbtmc] Error 2
make[2]: Leaving directory '/tmp/oct-uC4zBn/octave-instrument-control-0.10.0/src/serial'
make[1]: *** [Makefile:16: serial] Error 2
make[2]: Leaving directory '/tmp/oct-uC4zBn/octave-instrument-control-0.10.0/src/tcp'
make[1]: *** [Makefile:16: tcp] Error 2
/usr/bin/mkoctfile --verbose __instr_hwinfo__.o    -o ../__instr_hwinfo__.oct
g++ -I/usr/include/octave-11.1.0/octave/.. -I/usr/include/octave-11.1.0/octave  -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-instrument-control-0.10.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard  -o ../__instr_hwinfo__.oct  __instr_hwinfo__.o   -shared -Wl,-Bsymbolic -Wl,-z,relro  -flto=auto -ffat-lto-objects -Wl,-z,relro
make[2]: Leaving directory '/tmp/oct-uC4zBn/octave-instrument-control-0.10.0/src/hwinfo'
make[2]: Leaving directory '/tmp/oct-uC4zBn/octave-instrument-control-0.10.0/src/parallel'
make[1]: *** [Makefile:16: parallel] Error 2
/usr/bin/mkoctfile --verbose modbus.o modbus_class.o __modbus_read__.o __modbus_write__.o __modbus_write_read__.o __modbus_pkg_lock__.o __modbus_properties__.o     -o ../modbus.oct
g++ -I/usr/include/octave-11.1.0/octave/.. -I/usr/include/octave-11.1.0/octave  -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-instrument-control-0.10.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard  -o ../modbus.oct  modbus.o modbus_class.o __modbus_read__.o __modbus_write__.o __modbus_write_read__.o __modbus_pkg_lock__.o __modbus_properties__.o   -shared -Wl,-Bsymbolic -Wl,-z,relro  -flto=auto -ffat-lto-objects -Wl,-z,relro
make[2]: Leaving directory '/tmp/oct-uC4zBn/octave-instrument-control-0.10.0/src/modbus'
/usr/bin/mkoctfile --verbose gpib.o gpib_timeout.o gpib_write.o gpib_close.o gpib_read.o __gpib_spoll__.o __gpib_trigger__.o __gpib_clrdevice__.o gpib_class.o __gpib_pkg_lock__.o    -o ../gpib.oct
g++ -I/usr/include/octave-11.1.0/octave/.. -I/usr/include/octave-11.1.0/octave  -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-instrument-control-0.10.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard  -o ../gpib.oct  gpib.o gpib_timeout.o gpib_write.o gpib_close.o gpib_read.o __gpib_spoll__.o __gpib_trigger__.o __gpib_clrdevice__.o gpib_class.o __gpib_pkg_lock__.o   -shared -Wl,-Bsymbolic -Wl,-z,relro  -flto=auto -ffat-lto-objects -Wl,-z,relro
make[2]: Leaving directory '/tmp/oct-uC4zBn/octave-instrument-control-0.10.0/src/gpib'
make[1]: Leaving directory '/tmp/oct-uC4zBn/octave-instrument-control-0.10.0/src'

error: pkg: error running 'make' for the instrument-control package
error: called from
    configure_make at line 121 column 9
    install at line 202 column 7
    pkg at line 692 column 9
    /usr/share/dh-octave/install-pkg.m at line 45 column 1
dh_auto_install: error: octave --no-gui --no-history --silent --no-init-file --no-window-system /usr/share/dh-octave/install-pkg.m /build/reproducible-path/octave-instrument-control-0.10.0/debian/octave-instrument-control/usr/share/octave/packages /build/reproducible-path/octave-instrument-control-0.10.0/debian/octave-instrument-control/usr/lib/aarch64-linux-gnu/octave/packages returned exit code 1
make: *** [debian/rules:5: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2