GNOME Bugzilla – Bug 740568
gdk-pixbuf-2.31.2 API change breaks building gtk+-2.24.25
Last modified: 2014-11-23 11:11:38 UTC
Hello, With the recent change to deprecated GdkPixdata in gdk-pixbuf-2.31.2 gtk+-2.24.25 no longer compiles with the following error: make gtk-update-icon-cache make[3]: Entering directory '/opt/build/gtk+-2/gtk+-2.24.25/gtk' gcc -DHAVE_CONFIG_H -I. -I.. -DG_LOG_DOMAIN=\"Gtk\" -DGTK_LIBDIR=\"/usr/lib\" -DGTK_DATADIR=\"/usr/share\" -DGTK_DATA_PREFIX=\"/usr\" -DGTK_SYSCONFDIR=\"/etc\" -DGTK_VERSION=\"2.24.25\" -DGTK_BINARY_VERSION=\"2.10.0\" -DGTK_HOST=\"i686-pc-linux-gnu\" -DGTK_COMPILATION -DGTK_PRINT_BACKENDS=\"file,lpr\" -DGTK_PRINT_PREVIEW_COMMAND=\""evince --unlink-tempfile --preview --print-settings %s %f"\" -I.. -I../gtk -I.. -I../gdk -I../gdk -DGTK_DISABLE_DEPRECATED -DGTK_FILE_SYSTEM_ENABLE_UNSUPPORTED -DGTK_PRINT_BACKEND_ENABLE_UNSUPPORTED -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DG_DISABLE_CAST_CHECKS -pthread -I/usr/local/include -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libdrm -I/usr/local/include -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/harfbuzz -DG_DISABLE_SINGLE_INCLUDES -DATK_DISABLE_SINGLE_INCLUDES -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES -I/usr/local/include -DGDK_PIXBUF_DISABLE_DEPRECATED -g -O2 -Wall -MT updateiconcache.o -MD -MP -MF .deps/updateiconcache.Tpo -c -o updateiconcache.o updateiconcache.c In file included from updateiconcache.c:56:0: gtkiconcachevalidator.c: In function ‘check_pixel_data’: gtkiconcachevalidator.c:166:7: error: unknown type name ‘GdkPixdata’ GdkPixdata data; ^ gtkiconcachevalidator.c:168:7: warning: implicit declaration of function ‘gdk_pixdata_deserialize’ [-Wimplicit-function-declaration] check ("pixel data", gdk_pixdata_deserialize (&data, length, ^ updateiconcache.c: At top level: updateiconcache.c:168:3: error: unknown type name ‘GdkPixdata’ GdkPixdata pixdata; ^ updateiconcache.c: In function ‘maybe_cache_image_data’: updateiconcache.c:476:7: error: unknown type name ‘GdkPixbuf’ GdkPixbuf *pixbuf; ^ updateiconcache.c:515:4: warning: implicit declaration of function ‘gdk_pixbuf_new_from_file’ [-Wimplicit-function-declaration] pixbuf = gdk_pixbuf_new_from_file (path, NULL); ^ updateiconcache.c:515:11: warning: assignment makes pointer from integer without a cast pixbuf = gdk_pixbuf_new_from_file (path, NULL); ^ updateiconcache.c:519:8: warning: implicit declaration of function ‘gdk_pixdata_from_pixbuf’ [-Wimplicit-function-declaration] gdk_pixdata_from_pixbuf (&idata->pixdata, pixbuf, FALSE); ^ updateiconcache.c:520:36: error: request for member ‘length’ in something not a structure or union idata->size = idata->pixdata.length + 8; ^ updateiconcache.c: In function ‘write_image_data’: updateiconcache.c:824:3: error: unknown type name ‘GdkPixdata’ GdkPixdata *pixdata = &image_data->pixdata; ^ updateiconcache.c:830:3: warning: implicit declaration of function ‘gdk_pixdata_serialize’ [-Wimplicit-function-declaration] s = gdk_pixdata_serialize (pixdata, &len); ^ updateiconcache.c:830:5: warning: assignment makes pointer from integer without a cast s = gdk_pixdata_serialize (pixdata, &len); ^ updateiconcache.c: In function ‘write_bucket’: updateiconcache.c:1116:11: warning: variable ‘tmp’ set but not used [-Wunused-but-set-variable] int tmp; ^ updateiconcache.c: In function ‘main’: updateiconcache.c:1765:3: warning: implicit declaration of function ‘g_type_init’ [-Wimplicit-function-declaration] g_type_init (); ^ Makefile:2902: recipe for target 'updateiconcache.o' failed make[3]: *** [updateiconcache.o] Error 1 make[3]: Leaving directory '/opt/build/gtk+-2/gtk+-2.24.25/gtk' Makefile:5703: recipe for target 'gtkbuiltincache.h' failed make[2]: *** [gtkbuiltincache.h] Error 2 make[2]: Leaving directory '/opt/build/gtk+-2/gtk+-2.24.25/gtk' Makefile:719: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/opt/build/gtk+-2/gtk+-2.24.25' Makefile:610: recipe for target 'all' failed make: *** [all] Error 2 90.9 Elapsed Time - gtk+-2.24.25 I posted a report on the gdk-pixbuf component but no one has even bothered to reply. Is it possible to please get a patch so that this can work? Christopher.
(In reply to comment #0) > I posted a report on the gdk-pixbuf component but no one has even bothered to > reply. You posted bug 740521 just *yesterday*. Have some patience! >Is it possible to please get a patch so that this can work? The patch is already on the gtk-2-24 branch.
*** Bug 740521 has been marked as a duplicate of this bug. ***
This problem has been fixed in the development version. The fix will be available in the next GTK+ 2.24 release. Thank you for your bug report.