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