#1097965 t4kcommon: ftbfs with GCC-15

Package:
src:t4kcommon
Source:
src:t4kcommon
Submitter:
Matthias Klose
Date:
2025-09-22 10:59:03 UTC
Severity:
normal
Tags:
#1097965#5
Date:
2025-02-17 17:56:10 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/t4kcommon_0.1.1-12_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

[...]
      |      ^~~~~~~~~
t4k_loaders.c:209:5: warning: 'rsvg_term' is deprecated [-Wdeprecated-declarations]
  209 |     rsvg_term();
      |     ^~~~~~~~~
/usr/include/librsvg-2.0/librsvg/rsvg.h:1218:6: note: declared here
 1218 | void rsvg_term (void);
      |      ^~~~~~~~~
t4k_loaders.c:226:3: warning: 'rsvg_term' is deprecated [-Wdeprecated-declarations]
  226 |   rsvg_term();
      |   ^~~~~~~~~
/usr/include/librsvg-2.0/librsvg/rsvg.h:1218:6: note: declared here
 1218 | void rsvg_term (void);
      |      ^~~~~~~~~
t4k_loaders.c:199:7: warning: unused variable 'i' [-Wunused-variable]
  199 |   int i;
      |       ^
t4k_loaders.c: In function 'render_svg_from_handle':
t4k_loaders.c:242:3: warning: 'rsvg_handle_get_dimensions' is deprecated: Use 'rsvg_handle_get_intrinsic_size_in_pixels' instead [-Wdeprecated-declarations]
  242 |   rsvg_handle_get_dimensions(file_handle, &dimensions);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/librsvg-2.0/librsvg/rsvg.h:661:6: note: declared here
  661 | void rsvg_handle_get_dimensions (RsvgHandle *handle, RsvgDimensionData *dimension_data);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
t4k_loaders.c:289:3: warning: 'rsvg_handle_render_cairo_sub' is deprecated: Use 'rsvg_handle_render_layer' instead [-Wdeprecated-declarations]
  289 |   rsvg_handle_render_cairo_sub(file_handle, context, layer_name);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/librsvg-2.0/librsvg/rsvg.h:1329:
/usr/include/librsvg-2.0/librsvg/rsvg-cairo.h:157:10: note: declared here
  157 | gboolean rsvg_handle_render_cairo_sub (RsvgHandle *handle, cairo_t *cr, const char *id);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
t4k_loaders.c: In function 'get_svg_dimensions':
t4k_loaders.c:313:3: warning: 'rsvg_init' is deprecated: Use 'g_type_init' instead [-Wdeprecated-declarations]
  313 |   rsvg_init();
      |   ^~~~~~~~~
/usr/include/librsvg-2.0/librsvg/rsvg.h:1207:6: note: declared here
 1207 | void rsvg_init (void);
      |      ^~~~~~~~~
t4k_loaders.c:319:5: warning: 'rsvg_term' is deprecated [-Wdeprecated-declarations]
  319 |     rsvg_term();
      |     ^~~~~~~~~
/usr/include/librsvg-2.0/librsvg/rsvg.h:1218:6: note: declared here
 1218 | void rsvg_term (void);
      |      ^~~~~~~~~
t4k_loaders.c:323:3: warning: 'rsvg_handle_get_dimensions' is deprecated: Use 'rsvg_handle_get_intrinsic_size_in_pixels' instead [-Wdeprecated-declarations]
  323 |   rsvg_handle_get_dimensions(file_handle, &dimensions);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/librsvg-2.0/librsvg/rsvg.h:661:6: note: declared here
  661 | void rsvg_handle_get_dimensions (RsvgHandle *handle, RsvgDimensionData *dimension_data);
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~
t4k_loaders.c:331:3: warning: 'rsvg_term' is deprecated [-Wdeprecated-declarations]
  331 |   rsvg_term();
      |   ^~~~~~~~~
/usr/include/librsvg-2.0/librsvg/rsvg.h:1218:6: note: declared here
 1218 | void rsvg_term (void);
      |      ^~~~~~~~~
t4k_loaders.c: In function 'saveSVGInfo':
t4k_loaders.c:840:7: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
  840 |   int ret = 0;
      |       ^~~
make[4]: *** [Makefile:608: t4k_loaders.lo] Error 1
make[4]: Leaving directory '/build/reproducible-path/t4kcommon-0.1.1/src'
make[3]: *** [Makefile:644: all-recursive] Error 1
make[3]: Leaving directory '/build/reproducible-path/t4kcommon-0.1.1/src'
make[2]: *** [Makefile:624: all-recursive] Error 1
make[2]: Leaving directory '/build/reproducible-path/t4kcommon-0.1.1'
make[1]: *** [Makefile:530: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/t4kcommon-0.1.1'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:9: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

#1097965#14
Date:
2025-09-21 08:32:57 UTC
From:
To:
Control: tags -1 patch
thanks

The lines 2739 and following from this log are relevant, they state

| t4k_common.h:129:4: error: cannot use keyword 'false' as enumeration constant
|   129 |    false,
|       |    ^~~~~
| t4k_common.h:129:4: note: 'false' is a keyword with '-std=c23' onwards
| t4k_common.h:132:1: error: expected ';', identifier or '(' before 'bool'
|   132 | bool;
|       | ^~~~

(all other errors are just repetitions of these)

and the attached simple patch (valid since C99) fixes the FTBFS.

HTH,
Flo

#1097965#21
Date:
2025-09-21 10:31:24 UTC
From:
To:
control: tags -1 + pending
thanks

Hi Florian

the patch even I understand immediatly! thank you very much!

upload is being prepared as I'm typing this...

#1097965#28
Date:
2025-09-21 11:02:44 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
t4kcommon, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1097965@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Holger Levsen <holger@debian.org> (supplier of updated t4kcommon package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Sun, 21 Sep 2025 12:34:46 +0200
Source: t4kcommon
Architecture: source
Version: 0.1.1-13
Distribution: unstable
Urgency: medium
Maintainer: Holger Levsen <holger@debian.org>
Changed-By: Holger Levsen <holger@debian.org>
Closes: 1097965
Changes:
 t4kcommon (0.1.1-13) unstable; urgency=medium
 .
   * Add patch by Florian Ernst to fix build with GCC-15. Closes: #1097965.
   * d/control: bump standards version to 4.7.2, no changes needed.
   * d/copyright: bump my years.
   * Fix whitespace in previous changelog entry, thanks lintian.
Checksums-Sha1:
 28afbbe403420058a9182176e1a9e9f0edf3d4f7 2164 t4kcommon_0.1.1-13.dsc
 203c78bb9f6302d67b98bf22e1b3c69b43f0bdd1 8316 t4kcommon_0.1.1-13.debian.tar.xz
 ff1c32c648c3633ad472d0d0e495306f6a812fdd 16380 t4kcommon_0.1.1-13_source.buildinfo
Checksums-Sha256:
 422046ea6728583bac74635ff6e278475f00e9760b4b0f6b3c6abd25f521529e 2164 t4kcommon_0.1.1-13.dsc
 215c4a4bc577ddd5c81eeb4f10a7b20d8922607fd533ba49c663f806dd90b136 8316 t4kcommon_0.1.1-13.debian.tar.xz
 3c808ceb33c8669e9880d9e891959f67adfb1346a5089b23be79470b2ab54c3a 16380 t4kcommon_0.1.1-13_source.buildinfo
Files:
 b2c18bce39c11bb5fad990806ab23745 2164 libs optional t4kcommon_0.1.1-13.dsc
 d65f0fc66b806617b7f70c93af6f7185 8316 libs optional t4kcommon_0.1.1-13.debian.tar.xz
 d7c670e6d54d379520a62bfaf9b9a98d 16380 libs optional t4kcommon_0.1.1-13_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEuL9UE3sJ01zwJv6dCRq4VgaaqhwFAmjP1iUACgkQCRq4Vgaa
qhyvfQ/+LMeOZg6g/q8KRHECpd0t/vpU+2zBHeQvquCfWAOLrcGXTl0Ru+pK4gge
+YzzKLX2nudc/TMh4yyYtanK0aorN2EZido332YMseyw6IrSpj75jR7IiGNHF1Ft
fiMQOqu1w1sgJ9SEtk3NeKFG6NeLOZAAdCTbkDdn2UuvBBLZbRTtHX1kInQ8O20c
h1FE5DOwbzP9MatMpGyH5NViIqY1ubl5PSEqnX8NDDrEArEwjvo3ZoW3yrJhD1v8
9jPf6LS+tbBy7g9fIn5YAWpggaaheHSNgXVVkDeKLS9zUPMSbHaDjb0dI8zkbz4y
AUQp8GQ9L5r+Olc8v39q/Jl+WHQuxkkYGnSYTVgIeNZtiYl/ExM+opsnx3nkdcot
l5FeCaDqi5UNQ7B6G6N3A4YmZ0jKRqwGDuY+UuyccGXlqJ/zCVNElj2ho/7jCwwz
u/qjk3rGMcWaaA+h1J9s7emYmPgrHYJMSmthv8qlLjwSJA6yy1U2Ek31U9iuiUzf
l7/szYNSLGP6Dm6FBWsZcB0ZwgRU/B0B5vQOP+akaoQYdtsIMghrl/B3Ktna0EHH
xm1HK3dUBj5YyP75AcuIxqyHg6jcKtT5XX7WnqqOGiCEp7txda6hsUWc17aVOoAT
a5/U8Ykp8PgLYh4z9k+9+v0EzUCm0IPtWRtY+vPFHiH++Y+UeK8=
=2Utm
-----END PGP SIGNATURE-----