#1097711 qscintilla2: ftbfs with GCC-15

#1097711#5
Date:
2025-02-17 17:47:50 UTC
From:
To:
[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/qscintilla2_2.14.1+dfsg-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/ld: qscistyledtext.o:(.rodata+0x0): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: InputMethod.o:(.rodata+0x84): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: ListBoxQt.o:(.rodata+0x0): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: PlatQt.o:(.rodata+0x20): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: SciAccessibility.o:(.rodata+0x18): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: SciClasses.o:(.rodata+0x0): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: ScintillaQt.o:(.rodata+0x84): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: qsciprinter.o:(.rodata+0x0): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qsciscintilla.o:(.rodata+0x20fc): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qsciscintillabase.o:(.rodata+0xbd8): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qsciabstractapis.o:(.rodata+0x5c): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qsciapis.o:(.rodata+0x118): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexer.o:(.rodata+0x434): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexerasm.o:(.rodata+0x198): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexeravs.o:(.rodata+0xfc): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexerbash.o:(.rodata+0xfc): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexerbatch.o:(.rodata+0x58): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexercmake.o:(.rodata+0xa4): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexercoffeescript.o:(.rodata+0x60): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexercpp.o:(.rodata+0x1d8): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexercsharp.o:(.rodata+0x58): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexercss.o:(.rodata+0xfc): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexercustom.o:(.rodata+0xa8): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexerd.o:(.rodata+0x130): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexerdiff.o:(.rodata+0x58): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexeredifact.o:(.rodata+0x5c): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexerfortran.o:(.rodata+0x5c): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexerfortran77.o:(.rodata+0xa8): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexerhex.o:(.rodata+0x58): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexerhtml.o:(.rodata+0x14c): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexeridl.o:(.rodata+0x58): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexerintelhex.o:(.rodata+0x5c): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexerjava.o:(.rodata+0x58): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexerjavascript.o:(.rodata+0x5c): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexerjson.o:(.rodata+0x58): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexerlua.o:(.rodata+0xa4): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexermakefile.o:(.rodata+0x5c): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexermarkdown.o:(.rodata+0x5c): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexermasm.o:(.rodata+0x58): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexermatlab.o:(.rodata+0x58): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexernasm.o:(.rodata+0x58): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexeroctave.o:(.rodata+0x58): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexerpascal.o:(.rodata+0x13c): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexerperl.o:(.rodata+0xfc): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexerpostscript.o:(.rodata+0x184): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexerpo.o:(.rodata+0xfc): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexerpov.o:(.rodata+0x134): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexerproperties.o:(.rodata+0xac): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexerpython.o:(.rodata+0x174): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexerruby.o:(.rodata+0x58): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexerspice.o:(.rodata+0x58): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexersql.o:(.rodata+0x148): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexersrec.o:(.rodata+0x58): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexertcl.o:(.rodata+0x58): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexertekhex.o:(.rodata+0x58): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexertex.o:(.rodata+0x58): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexerverilog.o:(.rodata+0x5c): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexervhdl.o:(.rodata+0x1c8): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexerxml.o:(.rodata+0x58): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscilexeryaml.o:(.rodata+0xa4): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_qscimacro.o:(.rodata+0x170): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_SciClasses.o:(.rodata+0x158): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
/usr/bin/ld: moc_ScintillaQt.o:(.rodata+0xcc): multiple definition of `QtPrivate::IsFloatType_v<_Float16>'; qsciscintilla.o:(.rodata+0x34): first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:1016: libqscintilla2_qt6.so.15.2.1] Error 1
make[2]: Leaving directory '/build/reproducible-path/qscintilla2-2.14.1+dfsg/QSciQt6'
make[1]: *** [debian/rules:81: build-library-stamp] Error 2
make[1]: Leaving directory '/build/reproducible-path/qscintilla2-2.14.1+dfsg'
make: *** [debian/rules:25: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2