Bug#1097691: qcustomplot: ftbfs with GCC-15

Matthias Klose doko at debian.org
Mon Feb 17 17:47:14 GMT 2025


Package: src:qcustomplot
Version: 2.1.0+dfsg1-3.1
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/qcustomplot_2.1.0+dfsg1-3.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

[...]
/usr/bin/cmake -E cmake_progress_start /build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt5/CMakeFiles 0
make[2]: Leaving directory '/build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt5'
dh_auto_build --builddirectory=build-qt6
dh_auto_build: warning: Use of debian/compat is deprecated and will be removed in debhelper (>= 14~).
	cd build-qt6 && make -j8 "INSTALL=install --strip-program=true" VERBOSE=1
make[2]: Entering directory '/build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6'
/usr/bin/cmake -S/build/reproducible-path/qcustomplot-2.1.0+dfsg1 -B/build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6 --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6/CMakeFiles /build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6//CMakeFiles/progress.marks
make  -f CMakeFiles/Makefile2 all
make[3]: Entering directory '/build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6'
make  -f CMakeFiles/QCustomPlotQt6_autogen_timestamp_deps.dir/build.make CMakeFiles/QCustomPlotQt6_autogen_timestamp_deps.dir/depend
make[4]: Entering directory '/build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6'
cd /build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6 && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/qcustomplot-2.1.0+dfsg1 /build/reproducible-path/qcustomplot-2.1.0+dfsg1 /build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6 /build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6 /build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6/CMakeFiles/QCustomPlotQt6_autogen_timestamp_deps.dir/DependInfo.cmake "--color="
make[4]: Leaving directory '/build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6'
make  -f CMakeFiles/QCustomPlotQt6_autogen_timestamp_deps.dir/build.make CMakeFiles/QCustomPlotQt6_autogen_timestamp_deps.dir/build
make[4]: Entering directory '/build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6'
make[4]: Nothing to be done for 'CMakeFiles/QCustomPlotQt6_autogen_timestamp_deps.dir/build'.
make[4]: Leaving directory '/build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6'
[  0%] Built target QCustomPlotQt6_autogen_timestamp_deps
make  -f CMakeFiles/QCustomPlotQt6_autogen.dir/build.make CMakeFiles/QCustomPlotQt6_autogen.dir/depend
make[4]: Entering directory '/build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6'
cd /build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6 && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/qcustomplot-2.1.0+dfsg1 /build/reproducible-path/qcustomplot-2.1.0+dfsg1 /build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6 /build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6 /build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6/CMakeFiles/QCustomPlotQt6_autogen.dir/DependInfo.cmake "--color="
make[4]: Leaving directory '/build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6'
make  -f CMakeFiles/QCustomPlotQt6_autogen.dir/build.make CMakeFiles/QCustomPlotQt6_autogen.dir/build
make[4]: Entering directory '/build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6'
[ 20%] Automatic MOC and UIC for target QCustomPlotQt6
/usr/bin/cmake -E cmake_autogen /build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6/CMakeFiles/QCustomPlotQt6_autogen.dir/AutogenInfo.json None
AutoGen: Refreshing parse cache because it doesn't exist.
AutoMoc: Generating "SRC:/build-qt6/QCustomPlotQt6_autogen/moc_predefs.h", because it doesn't exist.
/usr/bin/c++ -dM -E -c /usr/share/cmake-3.31/Modules/CMakeCXXCompilerABI.cpp -DQCUSTOMPLOT_COMPILE_LIBRARY -DQCustomPlotQt6_EXPORTS -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -I/usr/include/x86_64-linux-gnu/qt6/QtWidgets -I/usr/include/x86_64-linux-gnu/qt6 -I/usr/include/x86_64-linux-gnu/qt6/QtCore -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -I/usr/include/x86_64-linux-gnu/qt6/QtGui -I/usr/include/x86_64-linux-gnu/qt6/QtPrintSupport -I/usr/include -I/usr/include/c++/15 -I/usr/include/x86_64-linux-gnu/c++/15 -I/usr/include/c++/15/backward -I/usr/lib/gcc/x86_64-linux-gnu/15/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu
AutoGen: Parsing "SRC:/qcustomplot.h"
AutoGen: Parsing "SRC:/qcustomplot.cpp"
AutoMoc: Generating "SRC:/build-qt6/QCustomPlotQt6_autogen/EWIEGA46WW/moc_qcustomplot.cpp", because it doesn't exist, from "SRC:/qcustomplot.h"
/usr/lib/qt6/libexec/moc -DQCUSTOMPLOT_COMPILE_LIBRARY -DQCustomPlotQt6_EXPORTS -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -I/usr/include/x86_64-linux-gnu/qt6/QtWidgets -I/usr/include/x86_64-linux-gnu/qt6 -I/usr/include/x86_64-linux-gnu/qt6/QtCore -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -I/usr/include/x86_64-linux-gnu/qt6/QtGui -I/usr/include/x86_64-linux-gnu/qt6/QtPrintSupport -I/usr/include -I/usr/include/c++/15 -I/usr/include/x86_64-linux-gnu/c++/15 -I/usr/include/c++/15/backward -I/usr/lib/gcc/x86_64-linux-gnu/15/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu --include /build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6/QCustomPlotQt6_autogen/moc_predefs.h --output-dep-file -o /build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6/QCustomPlotQt6_autogen/EWIEGA46WW/moc_qcustomplot.cpp /build/reproducible-path/qcustomplot-2.1.0+dfsg1/qcustomplot.h
AutoMoc: Reading dependencies from "SRC:/build-qt6/QCustomPlotQt6_autogen/EWIEGA46WW/moc_qcustomplot.cpp.d"
AutoMoc: Generating MOC compilation "SRC:/build-qt6/QCustomPlotQt6_autogen/mocs_compilation.cpp"
AutoMoc: Merging MOC dependencies into "SRC:/build-qt6/QCustomPlotQt6_autogen/deps"
AutoGen: Writing the parse cache file "SRC:/build-qt6/CMakeFiles/QCustomPlotQt6_autogen.dir/ParseCache.txt"
AutoGen: Writing the settings file "SRC:/build-qt6/CMakeFiles/QCustomPlotQt6_autogen.dir/AutogenUsed.txt"
/usr/bin/cmake -E touch /build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6/QCustomPlotQt6_autogen/timestamp
make[4]: Leaving directory '/build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6'
[ 20%] Built target QCustomPlotQt6_autogen
make  -f CMakeFiles/QCustomPlotQt6.dir/build.make CMakeFiles/QCustomPlotQt6.dir/depend
make[4]: Entering directory '/build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6'
cd /build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6 && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /build/reproducible-path/qcustomplot-2.1.0+dfsg1 /build/reproducible-path/qcustomplot-2.1.0+dfsg1 /build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6 /build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6 /build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6/CMakeFiles/QCustomPlotQt6.dir/DependInfo.cmake "--color="
Dependencies file "QCustomPlotQt6_autogen/deps" is newer than depends file "/build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6/CMakeFiles/QCustomPlotQt6.dir/compiler_depend.internal".
Consolidate compiler generated dependencies of target QCustomPlotQt6
make[4]: Leaving directory '/build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6'
make  -f CMakeFiles/QCustomPlotQt6.dir/build.make CMakeFiles/QCustomPlotQt6.dir/build
make[4]: Entering directory '/build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6'
[ 40%] Building CXX object CMakeFiles/QCustomPlotQt6.dir/qcustomplot.cpp.o
/usr/bin/c++ -DQCUSTOMPLOT_COMPILE_LIBRARY -DQCustomPlotQt6_EXPORTS -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -I/build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6/QCustomPlotQt6_autogen/include -isystem /usr/include/x86_64-linux-gnu/qt6/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt6 -isystem /usr/include/x86_64-linux-gnu/qt6/QtCore -isystem /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -isystem /usr/include/x86_64-linux-gnu/qt6/QtGui -isystem /usr/include/x86_64-linux-gnu/qt6/QtPrintSupport -g -O2 -ffile-prefix-map=/build/reproducible-path/qcustomplot-2.1.0+dfsg1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -MD -MT CMakeFiles/QCustomPlotQt6.dir/qcustomplot.cpp.o -MF CMakeFiles/QCustomPlotQt6.dir/qcustomplot.cpp.o.d -o CMakeFiles/QCustomPlotQt6.dir/qcustomplot.cpp.o -c /build/reproducible-path/qcustomplot-2.1.0+dfsg1/qcustomplot.cpp
[ 60%] Building CXX object CMakeFiles/QCustomPlotQt6.dir/QCustomPlotQt6_autogen/mocs_compilation.cpp.o
/usr/bin/c++ -DQCUSTOMPLOT_COMPILE_LIBRARY -DQCustomPlotQt6_EXPORTS -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -I/build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6/QCustomPlotQt6_autogen/include -isystem /usr/include/x86_64-linux-gnu/qt6/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt6 -isystem /usr/include/x86_64-linux-gnu/qt6/QtCore -isystem /usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -isystem /usr/include/x86_64-linux-gnu/qt6/QtGui -isystem /usr/include/x86_64-linux-gnu/qt6/QtPrintSupport -g -O2 -ffile-prefix-map=/build/reproducible-path/qcustomplot-2.1.0+dfsg1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -MD -MT CMakeFiles/QCustomPlotQt6.dir/QCustomPlotQt6_autogen/mocs_compilation.cpp.o -MF CMakeFiles/QCustomPlotQt6.dir/QCustomPlotQt6_autogen/mocs_compilation.cpp.o.d -o CMakeFiles/QCustomPlotQt6.dir/QCustomPlotQt6_autogen/mocs_compilation.cpp.o -c /build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6/QCustomPlotQt6_autogen/mocs_compilation.cpp
[ 80%] Linking CXX shared library libQCustomPlotQt6.so
/usr/bin/cmake -E cmake_link_script CMakeFiles/QCustomPlotQt6.dir/link.txt --verbose=1
/usr/bin/ld: CMakeFiles/QCustomPlotQt6.dir/qcustomplot.cpp.o:(.rodata+0x3a8): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; CMakeFiles/QCustomPlotQt6.dir/QCustomPlotQt6_autogen/mocs_compilation.cpp.o:(.rodata+0x8bd0): first defined here
collect2: error: ld returned 1 exit status
/usr/bin/c++ -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/qcustomplot-2.1.0+dfsg1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--dependency-file=CMakeFiles/QCustomPlotQt6.dir/link.d -Wl,-z,relro -Wl,-z,now -shared -Wl,-soname,libQCustomPlotQt6.so.2.1 -o libQCustomPlotQt6.so.2.1.0 CMakeFiles/QCustomPlotQt6.dir/QCustomPlotQt6_autogen/mocs_compilation.cpp.o CMakeFiles/QCustomPlotQt6.dir/qcustomplot.cpp.o  /usr/lib/x86_64-linux-gnu/libQt6PrintSupport.so.6.7.2 /usr/lib/x86_64-linux-gnu/libQt6Widgets.so.6.7.2 /usr/lib/x86_64-linux-gnu/libQt6Gui.so.6.7.2 /usr/lib/x86_64-linux-gnu/libGLX.so /usr/lib/x86_64-linux-gnu/libOpenGL.so /usr/lib/x86_64-linux-gnu/libQt6Core.so.6.7.2
make[4]: *** [CMakeFiles/QCustomPlotQt6.dir/build.make:133: libQCustomPlotQt6.so.2.1.0] Error 1
make[4]: Leaving directory '/build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6'
make[3]: *** [CMakeFiles/Makefile2:93: CMakeFiles/QCustomPlotQt6.dir/all] Error 2
make[3]: Leaving directory '/build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6'
make[2]: *** [Makefile:139: all] Error 2
make[2]: Leaving directory '/build/reproducible-path/qcustomplot-2.1.0+dfsg1/build-qt6'
dh_auto_build: error: cd build-qt6 && make -j8 "INSTALL=install --strip-program=true" VERBOSE=1 returned exit code 2
make[1]: *** [debian/rules:26: override_dh_auto_build] Error 255
make[1]: Leaving directory '/build/reproducible-path/qcustomplot-2.1.0+dfsg1'
make: *** [debian/rules:14: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the debian-science-maintainers mailing list