Subject: libxpertmass: ftbfs with GCC-15

From: Matthias Klose <[email-masked]>
Date: Mon, 17 Feb 2025 17:34:27 +0000

Package: src:libxpertmass
Version: 1.1.0-1
Severity: important
Tags: sid forky
User: [email-masked]
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/libxpertmass_1.1.0-1_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

[...]
/build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/includes/libXpertMass/Polymer.hpp:139:18: note:   by ‘virtual bool MsXpS::libXpertMass::Polymer::prepareMonomerRemoval(MsXpS::libXpertMass::Monomer*)’
  139 |     virtual bool prepareMonomerRemoval(Monomer *);
      |                  ^~~~~~~~~~~~~~~~~~~~~
In file included from /build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/includes/libXpertMass/Formula.hpp:45,
                 from /build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/includes/libXpertMass/PolChemDef.hpp:43:
/build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/includes/libXpertMass/Ponderable.hpp:104:18: warning: ‘virtual bool MsXpS::libXpertMass::Ponderable::accountMasses(double*, double*, int) const’ was hidden [-Woverloaded-virtual=]
  104 |     virtual bool accountMasses(double * = 0, double * = 0, int = 1) const;
      |                  ^~~~~~~~~~~~~
/build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/includes/libXpertMass/Polymer.hpp:153:10: note:   by ‘bool MsXpS::libXpertMass::Polymer::accountMasses(const MsXpS::libXpertMass::CalcOptions&)’
  153 |     bool accountMasses(const CalcOptions &);
      |          ^~~~~~~~~~~~~
In file included from /build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/includes/libXpertMass/Polymer.hpp:50:
/build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/includes/libXpertMass/Ionizable.hpp:100:16: warning: ‘virtual bool MsXpS::libXpertMass::Ionizable::calculateMasses()’ was hidden [-Woverloaded-virtual=]
  100 |   virtual bool calculateMasses() override;
      |                ^~~~~~~~~~~~~~~
/build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/includes/libXpertMass/Polymer.hpp:156:10: note:   by ‘bool MsXpS::libXpertMass::Polymer::calculateMasses(const MsXpS::libXpertMass::CalcOptions&, bool)’
  156 |     bool calculateMasses(const CalcOptions &, bool = true);
      |          ^~~~~~~~~~~~~~~
[ 68%] Building CXX object src/XpertMass/CMakeFiles/Core_static.dir/Averagine.cpp.o
cd /build/reproducible-path/libxpertmass-1.1.0/obj-x86_64-linux-gnu/src/XpertMass && /usr/bin/c++ -DQT_CORE_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_NO_DEBUG_OUTPUT -DQT_XML_LIB -I/build/reproducible-path/libxpertmass-1.1.0/obj-x86_64-linux-gnu/src/XpertMass/Core_static_autogen/include -I/build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/includes/libXpertMass -isystem /usr/include/pappsomspp -isystem /usr/include/IsoSpec++ -isystem /usr/include/x86_64-linux-gnu/qt6/QtCore -isystem /usr/include/x86_64-linux-gnu/qt6 -isystem /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -isystem /usr/include/x86_64-linux-gnu/qt6/QtXml -isystem /usr/include/x86_64-linux-gnu/qt6/QtNetwork -g -O2 -ffile-prefix-map=/build/reproducible-path/libxpertmass-1.1.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -DNDEBUG -std=gnu++17   -Wno-unknown-pragmas -Wall -pedantic -Wextra -MD -MT src/XpertMass/CMakeFiles/Core_static.dir/Averagine.cpp.o -MF CMakeFiles/Core_static.dir/Averagine.cpp.o.d -o CMakeFiles/Core_static.dir/Averagine.cpp.o -c /build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/Averagine.cpp
In file included from /build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/Sequence.cpp:36:
/build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/includes/libXpertMass/Sequence.hpp:87:18: warning: ‘virtual bool MsXpS::libXpertMass::Sequence::prepareMonomerRemoval(const MsXpS::libXpertMass::Monomer*)’ was hidden [-Woverloaded-virtual=]
   87 |     virtual bool prepareMonomerRemoval(const Monomer *);
      |                  ^~~~~~~~~~~~~~~~~~~~~
In file included from /build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/includes/libXpertMass/PolChemDef.hpp:50,
                 from /build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/Sequence.cpp:37:
/build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/includes/libXpertMass/Polymer.hpp:139:18: note:   by ‘virtual bool MsXpS::libXpertMass::Polymer::prepareMonomerRemoval(MsXpS::libXpertMass::Monomer*)’
  139 |     virtual bool prepareMonomerRemoval(Monomer *);
      |                  ^~~~~~~~~~~~~~~~~~~~~
In file included from /build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/includes/libXpertMass/Formula.hpp:45,
                 from /build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/includes/libXpertMass/Monomer.hpp:46,
                 from /build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/includes/libXpertMass/Sequence.hpp:44:
/build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/includes/libXpertMass/Ponderable.hpp:104:18: warning: ‘virtual bool MsXpS::libXpertMass::Ponderable::accountMasses(double*, double*, int) const’ was hidden [-Woverloaded-virtual=]
  104 |     virtual bool accountMasses(double * = 0, double * = 0, int = 1) const;
      |                  ^~~~~~~~~~~~~
/build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/includes/libXpertMass/Polymer.hpp:153:10: note:   by ‘bool MsXpS::libXpertMass::Polymer::accountMasses(const MsXpS::libXpertMass::CalcOptions&)’
  153 |     bool accountMasses(const CalcOptions &);
      |          ^~~~~~~~~~~~~
In file included from /build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/includes/libXpertMass/Polymer.hpp:50:
/build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/includes/libXpertMass/Ionizable.hpp:100:16: warning: ‘virtual bool MsXpS::libXpertMass::Ionizable::calculateMasses()’ was hidden [-Woverloaded-virtual=]
  100 |   virtual bool calculateMasses() override;
      |                ^~~~~~~~~~~~~~~
/build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/includes/libXpertMass/Polymer.hpp:156:10: note:   by ‘bool MsXpS::libXpertMass::Polymer::calculateMasses(const MsXpS::libXpertMass::CalcOptions&, bool)’
  156 |     bool calculateMasses(const CalcOptions &, bool = true);
      |          ^~~~~~~~~~~~~~~
[ 68%] Building CXX object src/XpertMass/CMakeFiles/Core_static.dir/MassDataCborBaseHandler.cpp.o
cd /build/reproducible-path/libxpertmass-1.1.0/obj-x86_64-linux-gnu/src/XpertMass && /usr/bin/c++ -DQT_CORE_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_NO_DEBUG_OUTPUT -DQT_XML_LIB -I/build/reproducible-path/libxpertmass-1.1.0/obj-x86_64-linux-gnu/src/XpertMass/Core_static_autogen/include -I/build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/includes/libXpertMass -isystem /usr/include/pappsomspp -isystem /usr/include/IsoSpec++ -isystem /usr/include/x86_64-linux-gnu/qt6/QtCore -isystem /usr/include/x86_64-linux-gnu/qt6 -isystem /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -isystem /usr/include/x86_64-linux-gnu/qt6/QtXml -isystem /usr/include/x86_64-linux-gnu/qt6/QtNetwork -g -O2 -ffile-prefix-map=/build/reproducible-path/libxpertmass-1.1.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -DNDEBUG -std=gnu++17   -Wno-unknown-pragmas -Wall -pedantic -Wextra -MD -MT src/XpertMass/CMakeFiles/Core_static.dir/MassDataCborBaseHandler.cpp.o -MF CMakeFiles/Core_static.dir/MassDataCborBaseHandler.cpp.o.d -o CMakeFiles/Core_static.dir/MassDataCborBaseHandler.cpp.o -c /build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/MassDataCborBaseHandler.cpp
[ 69%] Building CXX object src/XpertMass/CMakeFiles/Core_static.dir/MassDataCborMassSpectrumHandler.cpp.o
cd /build/reproducible-path/libxpertmass-1.1.0/obj-x86_64-linux-gnu/src/XpertMass && /usr/bin/c++ -DQT_CORE_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_NO_DEBUG_OUTPUT -DQT_XML_LIB -I/build/reproducible-path/libxpertmass-1.1.0/obj-x86_64-linux-gnu/src/XpertMass/Core_static_autogen/include -I/build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/includes/libXpertMass -isystem /usr/include/pappsomspp -isystem /usr/include/IsoSpec++ -isystem /usr/include/x86_64-linux-gnu/qt6/QtCore -isystem /usr/include/x86_64-linux-gnu/qt6 -isystem /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -isystem /usr/include/x86_64-linux-gnu/qt6/QtXml -isystem /usr/include/x86_64-linux-gnu/qt6/QtNetwork -g -O2 -ffile-prefix-map=/build/reproducible-path/libxpertmass-1.1.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -DNDEBUG -std=gnu++17   -Wno-unknown-pragmas -Wall -pedantic -Wextra -MD -MT src/XpertMass/CMakeFiles/Core_static.dir/MassDataCborMassSpectrumHandler.cpp.o -MF CMakeFiles/Core_static.dir/MassDataCborMassSpectrumHandler.cpp.o.d -o CMakeFiles/Core_static.dir/MassDataCborMassSpectrumHandler.cpp.o -c /build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/MassDataCborMassSpectrumHandler.cpp
[ 70%] Building CXX object src/XpertMass/CMakeFiles/Core_static.dir/MassDataServer.cpp.o
cd /build/reproducible-path/libxpertmass-1.1.0/obj-x86_64-linux-gnu/src/XpertMass && /usr/bin/c++ -DQT_CORE_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_NO_DEBUG_OUTPUT -DQT_XML_LIB -I/build/reproducible-path/libxpertmass-1.1.0/obj-x86_64-linux-gnu/src/XpertMass/Core_static_autogen/include -I/build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/includes/libXpertMass -isystem /usr/include/pappsomspp -isystem /usr/include/IsoSpec++ -isystem /usr/include/x86_64-linux-gnu/qt6/QtCore -isystem /usr/include/x86_64-linux-gnu/qt6 -isystem /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -isystem /usr/include/x86_64-linux-gnu/qt6/QtXml -isystem /usr/include/x86_64-linux-gnu/qt6/QtNetwork -g -O2 -ffile-prefix-map=/build/reproducible-path/libxpertmass-1.1.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -DNDEBUG -std=gnu++17   -Wno-unknown-pragmas -Wall -pedantic -Wextra -MD -MT src/XpertMass/CMakeFiles/Core_static.dir/MassDataServer.cpp.o -MF CMakeFiles/Core_static.dir/MassDataServer.cpp.o.d -o CMakeFiles/Core_static.dir/MassDataServer.cpp.o -c /build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/MassDataServer.cpp
[ 70%] Building CXX object src/XpertMass/CMakeFiles/Core_static.dir/MassDataServerThread.cpp.o
cd /build/reproducible-path/libxpertmass-1.1.0/obj-x86_64-linux-gnu/src/XpertMass && /usr/bin/c++ -DQT_CORE_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_NO_DEBUG_OUTPUT -DQT_XML_LIB -I/build/reproducible-path/libxpertmass-1.1.0/obj-x86_64-linux-gnu/src/XpertMass/Core_static_autogen/include -I/build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/includes/libXpertMass -isystem /usr/include/pappsomspp -isystem /usr/include/IsoSpec++ -isystem /usr/include/x86_64-linux-gnu/qt6/QtCore -isystem /usr/include/x86_64-linux-gnu/qt6 -isystem /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -isystem /usr/include/x86_64-linux-gnu/qt6/QtXml -isystem /usr/include/x86_64-linux-gnu/qt6/QtNetwork -g -O2 -ffile-prefix-map=/build/reproducible-path/libxpertmass-1.1.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -DNDEBUG -std=gnu++17   -Wno-unknown-pragmas -Wall -pedantic -Wextra -MD -MT src/XpertMass/CMakeFiles/Core_static.dir/MassDataServerThread.cpp.o -MF CMakeFiles/Core_static.dir/MassDataServerThread.cpp.o.d -o CMakeFiles/Core_static.dir/MassDataServerThread.cpp.o -c /build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/MassDataServerThread.cpp
[ 71%] Building CXX object src/XpertMass/CMakeFiles/Core_static.dir/MassDataClient.cpp.o
cd /build/reproducible-path/libxpertmass-1.1.0/obj-x86_64-linux-gnu/src/XpertMass && /usr/bin/c++ -DQT_CORE_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_NO_DEBUG_OUTPUT -DQT_XML_LIB -I/build/reproducible-path/libxpertmass-1.1.0/obj-x86_64-linux-gnu/src/XpertMass/Core_static_autogen/include -I/build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/includes/libXpertMass -isystem /usr/include/pappsomspp -isystem /usr/include/IsoSpec++ -isystem /usr/include/x86_64-linux-gnu/qt6/QtCore -isystem /usr/include/x86_64-linux-gnu/qt6 -isystem /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -isystem /usr/include/x86_64-linux-gnu/qt6/QtXml -isystem /usr/include/x86_64-linux-gnu/qt6/QtNetwork -g -O2 -ffile-prefix-map=/build/reproducible-path/libxpertmass-1.1.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -DNDEBUG -std=gnu++17   -Wno-unknown-pragmas -Wall -pedantic -Wextra -MD -MT src/XpertMass/CMakeFiles/Core_static.dir/MassDataClient.cpp.o -MF CMakeFiles/Core_static.dir/MassDataClient.cpp.o.d -o CMakeFiles/Core_static.dir/MassDataClient.cpp.o -c /build/reproducible-path/libxpertmass-1.1.0/src/XpertMass/MassDataClient.cpp
[ 72%] Linking CXX static library libXpertMass.a
cd /build/reproducible-path/libxpertmass-1.1.0/obj-x86_64-linux-gnu/src/XpertMass && /usr/bin/cmake -P CMakeFiles/Core_static.dir/cmake_clean_target.cmake
cd /build/reproducible-path/libxpertmass-1.1.0/obj-x86_64-linux-gnu/src/XpertMass && /usr/bin/cmake -E cmake_link_script CMakeFiles/Core_static.dir/link.txt --verbose=1
/usr/bin/ar qc libXpertMass.a CMakeFiles/Core_static.dir/Core_static_autogen/mocs_compilation.cpp.o CMakeFiles/Core_static.dir/globals.cpp.o CMakeFiles/Core_static.dir/Prop.cpp.o CMakeFiles/Core_static.dir/PropListHolder.cpp.o CMakeFiles/Core_static.dir/Isotope.cpp.o CMakeFiles/Core_static.dir/IsotopicData.cpp.o CMakeFiles/Core_static.dir/IsotopicDataBaseHandler.cpp.o CMakeFiles/Core_static.dir/IsotopicDataLibraryHandler.cpp.o CMakeFiles/Core_static.dir/IsotopicDataUserConfigHandler.cpp.o CMakeFiles/Core_static.dir/IsotopicDataManualConfigHandler.cpp.o CMakeFiles/Core_static.dir/IsotopicClusterGenerator.cpp.o CMakeFiles/Core_static.dir/IsotopicClusterShaper.cpp.o CMakeFiles/Core_static.dir/PeakCentroid.cpp.o CMakeFiles/Core_static.dir/Ponderable.cpp.o CMakeFiles/Core_static.dir/ChemicalGroup.cpp.o CMakeFiles/Core_static.dir/ChemicalGroupRule.cpp.o CMakeFiles/Core_static.dir/Modif.cpp.o CMakeFiles/Core_static.dir/ModifSpec.cpp.o CMakeFiles/Core_static.dir/Monomer.cpp.o CMakeFiles/Core_static.dir/MonomerDictionary.cpp.o CMakeFiles/Core_static.dir/MonomerSpec.cpp.o CMakeFiles/Core_static.dir/Oligomer.cpp.o CMakeFiles/Core_static.dir/Polymer.cpp.o CMakeFiles/Core_static.dir/CleaveMotif.cpp.o CMakeFiles/Core_static.dir/CleaveRule.cpp.o CMakeFiles/Core_static.dir/CleaveSpec.cpp.o CMakeFiles/Core_static.dir/Coordinates.cpp.o CMakeFiles/Core_static.dir/Formula.cpp.o CMakeFiles/Core_static.dir/FragRule.cpp.o CMakeFiles/Core_static.dir/FragSpec.cpp.o CMakeFiles/Core_static.dir/Ionizable.cpp.o CMakeFiles/Core_static.dir/IonizeRule.cpp.o CMakeFiles/Core_static.dir/CrossLink.cpp.o CMakeFiles/Core_static.dir/CrossLinker.cpp.o CMakeFiles/Core_static.dir/CrossLinkerSpec.cpp.o CMakeFiles/Core_static.dir/PolChemDef.cpp.o CMakeFiles/Core_static.dir/PolChemDefEntity.cpp.o CMakeFiles/Core_static.dir/PolChemDefSpec.cpp.o CMakeFiles/Core_static.dir/PkaPhPi.cpp.o CMakeFiles/Core_static.dir/PkaPhPiDataParser.cpp.o CMakeFiles/Core_static.dir/Sequence.cpp.o CMakeFiles/Core_static.dir/CalcOptions.cpp.o CMakeFiles/Core_static.dir/MassPeakShaper.cpp.o CMakeFiles/Core_static.dir/MassPeakShaperConfig.cpp.o CMakeFiles/Core_static.dir/Envemind.cpp.o CMakeFiles/Core_static.dir/Averagine.cpp.o CMakeFiles/Core_static.dir/MassDataCborBaseHandler.cpp.o CMakeFiles/Core_static.dir/MassDataCborMassSpectrumHandler.cpp.o CMakeFiles/Core_static.dir/MassDataServer.cpp.o CMakeFiles/Core_static.dir/MassDataServerThread.cpp.o CMakeFiles/Core_static.dir/MassDataClient.cpp.o
/usr/bin/ranlib libXpertMass.a
make[4]: Leaving directory '/build/reproducible-path/libxpertmass-1.1.0/obj-x86_64-linux-gnu'
[ 73%] Built target Core_static
make[3]: Leaving directory '/build/reproducible-path/libxpertmass-1.1.0/obj-x86_64-linux-gnu'
make[2]: *** [Makefile:159: all] Error 2
make[2]: Leaving directory '/build/reproducible-path/libxpertmass-1.1.0/obj-x86_64-linux-gnu'
dh_auto_build: error: cd obj-x86_64-linux-gnu && make -j8 "INSTALL=install --strip-program=true" VERBOSE=1 returned exit code 2
make[1]: *** [debian/rules:40: override_dh_auto_build] Error 25
make[1]: Leaving directory '/build/reproducible-path/libxpertmass-1.1.0'
make: *** [debian/rules:14: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2