Bug#1096785: gtk+2.0: ftbfs with GCC-15

Matthias Klose doko at debian.org
Mon Feb 17 17:18:21 GMT 2025


Package: src:gtk+2.0
Version: 2.24.33-7
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/gtk+2.0_2.24.33-7_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

[...]
 1304 |   _GLIB_GNUC_DO_PRAGMA(GCC warning G_STRINGIFY (Deprecated pre-processor symbol: replace with #f))
      |   ^~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/glib-visibility.h:278:46: note: in expansion of macro 'GLIB_DEPRECATED_MACRO_FOR'
  278 | #define GLIB_DEPRECATED_MACRO_IN_2_40_FOR(f) GLIB_DEPRECATED_MACRO_FOR (f)
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gutils.h:315:64: note: in expansion of macro 'GLIB_DEPRECATED_MACRO_IN_2_40_FOR'
  315 |   G_STMT_START { memmove ((dest), (src), (len)); } G_STMT_END  GLIB_DEPRECATED_MACRO_IN_2_40_FOR(memmove)
      |                                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../gtk/gtkitemfactory.c:457:3: note: in expansion of macro 'g_memmove'
  457 |   g_memmove (fname, path, i + 1);
      |   ^~~~~~~~~
../../../../gtk/gtkitemfactory.c: In function 'IA__gtk_item_factory_create_item':
../../../../gtk/gtkitemfactory.c:1055:11: warning: 'gdk_pixbuf_new_from_inline' is deprecated [-Wdeprecated-declarations]
 1055 |           pixbuf = gdk_pixbuf_new_from_inline (-1,
      |           ^~~~~~
In file included from /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h:34,
                 from ../../../../gdk/gdkpixbuf.h:37,
                 from ../../../../gdk/gdkcairo.h:28,
                 from ../../../../gdk/gdk.h:33:
/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h:298:12: note: declared here
  298 | GdkPixbuf* gdk_pixbuf_new_from_inline   (gint          data_length,
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../gtk/gtkitemfactory.c: In function 'IA__gtk_item_factory_create_menu_entries':
../../../../gtk/gtkitemfactory.c:1187:22: error: assignment to 'GtkItemFactoryCallback' {aka 'void (*)(void)'} from incompatible pointer type 'GtkMenuCallback' {aka 'void (*)(struct _GtkWidget *, void *)'} [-Wincompatible-pointer-types]
 1187 |       entry.callback = entries[i].callback;
      |                      ^
../../../../gtk/gtkitemfactory.h:47:19: note: 'GtkItemFactoryCallback' declared here
   47 | typedef void    (*GtkItemFactoryCallback)  ();
      |                   ^~~~~~~~~~~~~~~~~~~~~~
../../../../gtk/gtkitemfactory.h:203:16: note: 'GtkMenuCallback' declared here
  203 | typedef void (*GtkMenuCallback) (GtkWidget *widget,
      |                ^~~~~~~~~~~~~~~
../../../../gtk/gtklist.c: In function 'gtk_list_update_extended_selection':
../../../../gtk/gtkitemfactory.c:1189:7: warning: 'g_pattern_match_string' is deprecated: Use 'g_pattern_spec_match_string' instead [-Wdeprecated-declarations]
 1189 |       if (g_pattern_match_string (pspec_separator, path))
      |       ^~
../../../../gtk/gtklist.c:1970:71: warning: comparison of constant '0' with boolean expression is always false [-Wbool-compare]
 1970 |   if (list->selection_mode != GTK_SELECTION_MULTIPLE || !list->anchor < 0)
      |                                                                       ^
../../../../gtk/gtklist.c:1970:71: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
In file included from /usr/include/glib-2.0/glib.h:68:
/usr/include/glib-2.0/glib/gpattern.h:57:15: note: declared here
   57 | gboolean      g_pattern_match_string   (GPatternSpec *pspec,
      |               ^~~~~~~~~~~~~~~~~~~~~~
../../../../gtk/gtklist.c:1970:57: note: add parentheses around left hand side expression to silence this warning
 1970 |   if (list->selection_mode != GTK_SELECTION_MULTIPLE || !list->anchor < 0)
      |                                                         ^~~~~~~~~~~~~
      |                                                         (            )
../../../../gtk/gtkitemfactory.c:1191:7: warning: 'g_pattern_match_string' is deprecated: Use 'g_pattern_spec_match_string' instead [-Wdeprecated-declarations]
 1191 |       else if (!g_pattern_match_string (pspec_check, path))
      |       ^~~~
/usr/include/glib-2.0/glib/gpattern.h:57:15: note: declared here
   57 | gboolean      g_pattern_match_string   (GPatternSpec *pspec,
      |               ^~~~~~~~~~~~~~~~~~~~~~
make[6]: *** [Makefile:3554: gtkitemfactory.lo] Error 1
make[6]: *** Waiting for unfinished jobs....
make[6]: Leaving directory '/build/reproducible-path/gtk+2.0-2.24.33/debian/build/shared/gtk'
make[5]: *** [Makefile:5550: all-recursive] Error 1
make[5]: Leaving directory '/build/reproducible-path/gtk+2.0-2.24.33/debian/build/shared/gtk'
make[4]: *** [Makefile:2805: all] Error 2
make[4]: Leaving directory '/build/reproducible-path/gtk+2.0-2.24.33/debian/build/shared/gtk'
make[3]: *** [Makefile:742: all-recursive] Error 1
make[3]: Leaving directory '/build/reproducible-path/gtk+2.0-2.24.33/debian/build/shared'
make[2]: *** [Makefile:634: all] Error 2
make[2]: Leaving directory '/build/reproducible-path/gtk+2.0-2.24.33/debian/build/shared'
dh_auto_build: error: cd debian/build/shared && make -j8 returned exit code 2
make[1]: *** [debian/rules:152: debian/stampdir/build-stamp-shared] Error 25
make[1]: Leaving directory '/build/reproducible-path/gtk+2.0-2.24.33'
make: *** [debian/rules:131: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the pkg-gnome-maintainers mailing list