[Debian-iot-maintainers] Bug#1097526: openzwave: ftbfs with GCC-15

Matthias Klose doko at debian.org
Mon Feb 17 17:41:53 GMT 2025


Package: src:openzwave
Version: 1.6.1914+ds2-3
Severity: important
Tags: sid forky
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-15

[This bug is NOT targeted to the upcoming trixie release]

Please keep this issue open in the bug tracker for the package it
was filed for.  If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.

The package fails to build in a test rebuild on at least amd64 with
gcc-15/g++-15, but succeeds to build with gcc-14/g++-14. The
severity of this report will be raised before the forky release.

The full build log can be found at:
http://qa-logs.debian.net/2025/02/16/amd64exp/openzwave_1.6.1914+ds2-3_unstable_gccexp.log.gz
The last lines of the build log are at the end of this report.

To build with GCC 15, either set CC=gcc-15 CXX=g++-15 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.

  apt-get -t=experimental install g++ 

GCC 15 now defaults to the C23/C++23 standards, exposing many FTBFS.
Other Common build failures are new warnings resulting in build failures
with -Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-15/porting_to.html

[...]
Building src/Bitfield.cpp
Building src/CompatOptionManager.cpp
Building src/DNSThread.cpp
Building src/Driver.cpp
Building src/Group.cpp
Building src/Http.cpp
Building src/Localization.cpp
Building src/Manager.cpp
Building src/ManufacturerSpecificDB.cpp
Building src/Msg.cpp
Building src/Node.cpp
Building src/Notification.cpp
Building src/NotificationCCTypes.cpp
Building src/Options.cpp
Building src/Scene.cpp
Building src/SensorMultiLevelCCTypes.cpp
Building src/TimerThread.cpp
Building src/Utils.cpp
Building src/ZWSecurity.cpp
Creating vers.cpp
Making ozw_config file
Building src/vers.cpp
/build/reproducible-path/openzwave-1.6.1914+ds2/cpp/src/command_classes/SimpleAVCommandItem.cpp: In static member function ‘static std::vector<OpenZWave::Internal::CC::SimpleAVCommandItem> OpenZWave::Internal::CC::SimpleAVCommandItem::GetCommands()’:
/build/reproducible-path/openzwave-1.6.1914+ds2/cpp/src/command_classes/SimpleAVCommandItem.cpp:93:58: note: variable tracking size limit exceeded with ‘-fvar-tracking-assignments’, retrying without
   93 |                         std::vector<SimpleAVCommandItem> SimpleAVCommandItem::GetCommands()
      |                                                          ^~~~~~~~~~~~~~~~~~~
Linking Static Library
Linking Shared Library
make[3]: Leaving directory '/build/reproducible-path/openzwave-1.6.1914+ds2/cpp/build'
make[3]: Entering directory '/build/reproducible-path/openzwave-1.6.1914+ds2/cpp/examples/MinOZW'
make[3]: warning: -j8 forced in submake: resetting jobserver mode.
Building Main.cpp
Linking MinOZW
Creating Temporary Shell Launch Script
make[3]: Leaving directory '/build/reproducible-path/openzwave-1.6.1914+ds2/cpp/examples/MinOZW'
make[2]: Leaving directory '/build/reproducible-path/openzwave-1.6.1914+ds2'
make[1]: Leaving directory '/build/reproducible-path/openzwave-1.6.1914+ds2'
   dh_auto_test
	make -j8 test
make[1]: Entering directory '/build/reproducible-path/openzwave-1.6.1914+ds2'
make[2]: Entering directory '/build/reproducible-path/openzwave-1.6.1914+ds2/cpp/test'
make[2]: warning: -j8 forced in submake: resetting jobserver mode.
Building gtest-death-test.o
Building gtest-filepath.o
Building gtest-matchers.o
Building gtest-port.o
Building gtest-printers.o
Building gtest-test-part.o
Building gtest-typed-test.o
Building gtest.o
/build/reproducible-path/openzwave-1.6.1914+ds2/cpp/test/src/gtest-death-test.cc: In function ‘pid_t testing::internal::ExecDeathTestSpawnChild(char* const*, int)’:
/build/reproducible-path/openzwave-1.6.1914+ds2/cpp/test/src/gtest-death-test.cc:1385:26: error: ‘uintptr_t’ does not name a type
 1385 |         reinterpret_cast<uintptr_t>(stack_top) % kMaxStackAlignment == 0);
      |                          ^~~~~~~~~
/build/reproducible-path/openzwave-1.6.1914+ds2/cpp/test/src/gtest-death-test.cc:308:38: note: in definition of macro ‘GTEST_DEATH_TEST_CHECK_’
  308 |     if (!::testing::internal::IsTrue(expression)) { \
      |                                      ^~~~~~~~~~
/build/reproducible-path/openzwave-1.6.1914+ds2/cpp/test/src/gtest-death-test.cc:86:1: note: ‘uintptr_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
   85 | #include "src/gtest-internal-inl.h"
  +++ |+#include <cstdint>
   86 | 
make[2]: *** [Makefile:82: /build/reproducible-path/openzwave-1.6.1914+ds2/.lib/gtest-death-test.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/build/reproducible-path/openzwave-1.6.1914+ds2/cpp/test'
make[1]: *** [Makefile:39: test] Error 2
make[1]: Leaving directory '/build/reproducible-path/openzwave-1.6.1914+ds2'
	rm -fr -- /tmp/dh-xdg-rundir-ktcGiFKQ
dh_auto_test: error: make -j8 test returned exit code 2
make: *** [debian/rules:35: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the Debian-iot-maintainers mailing list