Bug#1133524: libmspub: ftbfs with GCC-16

Emanuele Rocca <[email protected]> Mon, 13 Apr 2026 15:05:53 +0200
Newsgroups gmane.linux.debian.devel.openoffice
Message-ID <[email protected]>
Package: src:libmspub
Version: 0.1.4-4
Severity: important
Tags: sid forky ftbfs
User: [email protected]
Usertags: ftbfs-gcc-16

Hi,

libmspub 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/libmspub_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.

[...]


/bin/bash ../../libtool  --tag=CXX   --mode=compile g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I../..   -Wdate-time -D_FORTIFY_SOURCE=2 -I../../inc -I/usr/include/librevenge-0.0   -DNDEBUG -DLIBMSPUB_BUILD=1 -g -O2 -ffile-prefix-map=/build/reproducible-path/libmspub-0.1.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -fvisibility=hidden -DLIBMSPUB_VISIBILITY -Wall -Wextra -pedantic -Wshadow -Wunused-variable -Weffc++ -c -o VectorTransformation2D.lo VectorTransformation2D.cpp
/bin/bash ../../libtool  --tag=CXX   --mode=compile g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I../..   -Wdate-time -D_FORTIFY_SOURCE=2 -I../../inc -I/usr/include/librevenge-0.0   -DNDEBUG -DLIBMSPUB_BUILD=1 -g -O2 -ffile-prefix-map=/build/reproducible-path/libmspub-0.1.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -fvisibility=hidden -DLIBMSPUB_VISIBILITY -Wall -Wextra -pedantic -Wshadow -Wunused-variable -Weffc++ -c -o libmspub_utils.lo libmspub_utils.cpp
libtool: compile:  g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -I../../inc -I/usr/include/librevenge-0.0 -DNDEBUG -DLIBMSPUB_BUILD=1 -g -O2 -ffile-prefix-map=/build/reproducible-path/libmspub-0.1.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -fvisibility=hidden -DLIBMSPUB_VISIBILITY -Wall -Wextra -pedantic -Wshadow -Wunused-variable -Weffc++ -c Shadow.cpp  -fPIC -DPIC -o .libs/Shadow.o
libtool: compile:  g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -I../../inc -I/usr/include/librevenge-0.0 -DNDEBUG -DLIBMSPUB_BUILD=1 -g -O2 -ffile-prefix-map=/build/reproducible-path/libmspub-0.1.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -fvisibility=hidden -DLIBMSPUB_VISIBILITY -Wall -Wextra -pedantic -Wshadow -Wunused-variable -Weffc++ -c ColorReference.cpp  -fPIC -DPIC -o .libs/ColorReference.o
libtool: compile:  g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -I../../inc -I/usr/include/librevenge-0.0 -DNDEBUG -DLIBMSPUB_BUILD=1 -g -O2 -ffile-prefix-map=/build/reproducible-path/libmspub-0.1.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -fvisibility=hidden -DLIBMSPUB_VISIBILITY -Wall -Wextra -pedantic -Wshadow -Wunused-variable -Weffc++ -c MSPUBCollector.cpp  -fPIC -DPIC -o .libs/MSPUBCollector.o
libtool: compile:  g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -I../../inc -I/usr/include/librevenge-0.0 -DNDEBUG -DLIBMSPUB_BUILD=1 -g -O2 -ffile-prefix-map=/build/reproducible-path/libmspub-0.1.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -fvisibility=hidden -DLIBMSPUB_VISIBILITY -Wall -Wextra -pedantic -Wshadow -Wunused-variable -Weffc++ -c MSPUBMetaData.cpp  -fPIC -DPIC -o .libs/MSPUBMetaData.o
libtool: compile:  g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -I../../inc -I/usr/include/librevenge-0.0 -DNDEBUG -DLIBMSPUB_BUILD=1 -g -O2 -ffile-prefix-map=/build/reproducible-path/libmspub-0.1.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -fvisibility=hidden -DLIBMSPUB_VISIBILITY -Wall -Wextra -pedantic -Wshadow -Wunused-variable -Weffc++ -c PolygonUtils.cpp  -fPIC -DPIC -o .libs/PolygonUtils.o
libtool: compile:  g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -I../../inc -I/usr/include/librevenge-0.0 -DNDEBUG -DLIBMSPUB_BUILD=1 -g -O2 -ffile-prefix-map=/build/reproducible-path/libmspub-0.1.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -fvisibility=hidden -DLIBMSPUB_VISIBILITY -Wall -Wextra -pedantic -Wshadow -Wunused-variable -Weffc++ -c MSPUBParser.cpp  -fPIC -DPIC -o .libs/MSPUBParser.o
libtool: compile:  g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -I../../inc -I/usr/include/librevenge-0.0 -DNDEBUG -DLIBMSPUB_BUILD=1 -g -O2 -ffile-prefix-map=/build/reproducible-path/libmspub-0.1.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -fvisibility=hidden -DLIBMSPUB_VISIBILITY -Wall -Wextra -pedantic -Wshadow -Wunused-variable -Weffc++ -c Fill.cpp  -fPIC -DPIC -o .libs/Fill.o
libtool: compile:  g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -I../../inc -I/usr/include/librevenge-0.0 -DNDEBUG -DLIBMSPUB_BUILD=1 -g -O2 -ffile-prefix-map=/build/reproducible-path/libmspub-0.1.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -fvisibility=hidden -DLIBMSPUB_VISIBILITY -Wall -Wextra -pedantic -Wshadow -Wunused-variable -Weffc++ -c MSPUBParser97.cpp  -fPIC -DPIC -o .libs/MSPUBParser97.o
libtool: compile:  g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -I../../inc -I/usr/include/librevenge-0.0 -DNDEBUG -DLIBMSPUB_BUILD=1 -g -O2 -ffile-prefix-map=/build/reproducible-path/libmspub-0.1.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -fvisibility=hidden -DLIBMSPUB_VISIBILITY -Wall -Wextra -pedantic -Wshadow -Wunused-variable -Weffc++ -c MSPUBParser2k.cpp  -fPIC -DPIC -o .libs/MSPUBParser2k.o
libtool: compile:  g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -I../../inc -I/usr/include/librevenge-0.0 -DNDEBUG -DLIBMSPUB_BUILD=1 -g -O2 -ffile-prefix-map=/build/reproducible-path/libmspub-0.1.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -fvisibility=hidden -DLIBMSPUB_VISIBILITY -Wall -Wextra -pedantic -Wshadow -Wunused-variable -Weffc++ -c Dash.cpp  -fPIC -DPIC -o .libs/Dash.o
libtool: compile:  g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -I../../inc -I/usr/include/librevenge-0.0 -DNDEBUG -DLIBMSPUB_BUILD=1 -g -O2 -ffile-prefix-map=/build/reproducible-path/libmspub-0.1.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -fvisibility=hidden -DLIBMSPUB_VISIBILITY -Wall -Wextra -pedantic -Wshadow -Wunused-variable -Weffc++ -c VectorTransformation2D.cpp  -fPIC -DPIC -o .libs/VectorTransformation2D.o
libtool: compile:  g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -I../../inc -I/usr/include/librevenge-0.0 -DNDEBUG -DLIBMSPUB_BUILD=1 -g -O2 -ffile-prefix-map=/build/reproducible-path/libmspub-0.1.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -fvisibility=hidden -DLIBMSPUB_VISIBILITY -Wall -Wextra -pedantic -Wshadow -Wunused-variable -Weffc++ -c MSPUBDocument.cpp  -fPIC -DPIC -o .libs/MSPUBDocument.o
libtool: compile:  g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -I../../inc -I/usr/include/librevenge-0.0 -DNDEBUG -DLIBMSPUB_BUILD=1 -g -O2 -ffile-prefix-map=/build/reproducible-path/libmspub-0.1.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -fvisibility=hidden -DLIBMSPUB_VISIBILITY -Wall -Wextra -pedantic -Wshadow -Wunused-variable -Weffc++ -c libmspub_utils.cpp  -fPIC -DPIC -o .libs/libmspub_utils.o
libtool: compile:  g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -I../../inc -I/usr/include/librevenge-0.0 -DNDEBUG -DLIBMSPUB_BUILD=1 -g -O2 -ffile-prefix-map=/build/reproducible-path/libmspub-0.1.4=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -fvisibility=hidden -DLIBMSPUB_VISIBILITY -Wall -Wextra -pedantic -Wshadow -Wunused-variable -Weffc++ -c ShapeGroupElement.cpp  -fPIC -DPIC -o .libs/ShapeGroupElement.o
In file included from /usr/include/unicode/uenum.h:25,
                 from /usr/include/unicode/ucnv.h:52,
                 from libmspub_utils.cpp:16:
/usr/include/unicode/localpointer.h:559:26: error: parameter declared 'auto'
  559 | template <typename Type, auto closeFunction>
      |                          ^~~~
/usr/include/unicode/localpointer.h:571:76: error: template argument 2 is invalid [-Wtemplate-body]
  571 |     explicit LocalOpenPointer(std::unique_ptr<Type, decltype(closeFunction)> &&p)
      |                                                                            ^
/usr/include/unicode/localpointer.h:581:78: error: template argument 2 is invalid [-Wtemplate-body]
  581 |     LocalOpenPointer &operator=(std::unique_ptr<Type, decltype(closeFunction)> &&p) {
      |                                                                              ^
/usr/include/unicode/localpointer.h:597:59: error: template argument 2 is invalid [-Wtemplate-body]
  597 |     operator std::unique_ptr<Type, decltype(closeFunction)> () && {
      |                                                           ^
/usr/include/unicode/uenum.h:69:1: note: invalid template non-type parameter
   69 | U_DEFINE_LOCAL_OPEN_POINTER(LocalUEnumerationPointer, UEnumeration, uenum_close);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/unicode/ucnv.h:597:1: note: invalid template non-type parameter
  597 | U_DEFINE_LOCAL_OPEN_POINTER(LocalUConverterPointer, UConverter, ucnv_close);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
make[4]: *** [Makefile:568: libmspub_utils.lo] Error 1
make[4]: *** Waiting for unfinished jobs....
In file included from /usr/include/unicode/uenum.h:25,
                 from /usr/include/unicode/ucsdet.h:28,
                 from MSPUBCollector.cpp:19:
/usr/include/unicode/localpointer.h:559:26: error: parameter declared 'auto'
  559 | template <typename Type, auto closeFunction>
      |                          ^~~~
/usr/include/unicode/localpointer.h:571:76: error: template argument 2 is invalid [-Wtemplate-body]
  571 |     explicit LocalOpenPointer(std::unique_ptr<Type, decltype(closeFunction)> &&p)
      |                                                                            ^
/usr/include/unicode/localpointer.h:581:78: error: template argument 2 is invalid [-Wtemplate-body]
  581 |     LocalOpenPointer &operator=(std::unique_ptr<Type, decltype(closeFunction)> &&p) {
      |                                                                              ^
/usr/include/unicode/localpointer.h:597:59: error: template argument 2 is invalid [-Wtemplate-body]
  597 |     operator std::unique_ptr<Type, decltype(closeFunction)> () && {
      |                                                           ^
/usr/include/unicode/uenum.h:69:1: note: invalid template non-type parameter
   69 | U_DEFINE_LOCAL_OPEN_POINTER(LocalUEnumerationPointer, UEnumeration, uenum_close);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/unicode/ucsdet.h:109:1: note: invalid template non-type parameter
  109 | U_DEFINE_LOCAL_OPEN_POINTER(LocalUCharsetDetectorPointer, UCharsetDetector, ucsdet_close);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
make[4]: *** [Makefile:568: MSPUBCollector.lo] Error 1
make[4]: Leaving directory '/build/reproducible-path/libmspub-0.1.4/src/lib'
make[3]: *** [Makefile:393: all-recursive] Error 1
make[3]: Leaving directory '/build/reproducible-path/libmspub-0.1.4/src'
make[2]: *** [Makefile:501: all-recursive] Error 1
make[2]: Leaving directory '/build/reproducible-path/libmspub-0.1.4'
make[1]: *** [Makefile:412: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/libmspub-0.1.4'
dh_auto_build: error: make -j128 returned exit code 2
make: *** [debian/rules:7: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2