After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 740568 - gdk-pixbuf-2.31.2 API change breaks building gtk+-2.24.25
gdk-pixbuf-2.31.2 API change breaks building gtk+-2.24.25
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: .General
2.24.x
Other Linux
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
: 740521 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2014-11-23 01:56 UTC by Christopher Gregory
Modified: 2014-11-23 11:11 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Christopher Gregory 2014-11-23 01:56:45 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.
Comment 1 Christian Persch 2014-11-23 09:09:19 UTC
(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.
Comment 2 Christian Persch 2014-11-23 09:09:29 UTC
*** Bug 740521 has been marked as a duplicate of this bug. ***
Comment 3 Emmanuele Bassi (:ebassi) 2014-11-23 11:11:38 UTC
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.