gtk+ 2.8.17 - gdk-pixbuf-csource failure.



I can not get gtk+ 2.8.7 to completely build because gdk-pixbuf-csource
is terminating with out producing the expected output for files:

  gtk/stock-icons/gtkstockpixbufs.h
  demos/test-inline-pixbufs.h

I have traced the failure to when the routine print_csource() calls
gdk_pixdata_from_pixbuf(), which calls:

   g_return_val_if_fail(GDK_IS_PIXBUF(pixbuf), NULL)

The macro GDK_IS_PIXBUF calls gdk_pixbuf_get_type which has a local
static variable object_type that is at 0 when the routine is entered.

Since it is zero, g_type_register_static() is called, which fails
because the object already exists.

I have determined why the object already exists.  It exists because
/PRJ_ROOT/gtk+-2.8.17/libpixbufloader_png.exe was dynamically loaded.

This causes g_object_new() to be called to create a GDK_TYPE_PIXBUF object.

So when gdk_pixbuf_get_type() is called, it fails.

Obviously there is a bug here, and it looks like the dynamic pixbuf
loader code is not normally being built or used because of this.

So what should I do to fix this?

Secondary failures are that in print_csource, the failures of
gdk_pixdata_from_pixbuf() and the routine after it are not checked, and
this results in the following g_printf() call failing with an access
violation from referencing a NULL pointer.  This causes meaningless
error messages to be generated.

My build environment:

gtk+       2.8.17
atk        1.10.3
cairo      1.0.2
expat      1.95.8
fontconfig 2.3.2
freetype   2.1.10
gettext    0.14.5
glib       2.8.6
jpeg-6b
libXrender 0.9.0
libpng     1.2.8
pango      1.10.4
pkg-config 0.20
renderext  0.9
tiff       3.8.0
zlib       1.2.3
GNV        1.6-11 + custom changes.
OpenVMS    8.2 Alpha
HP C       7.1-015

Build log fragment below:

-John
wb8tyw qsl net
Personal Opinion Only


make[4]: Entering directory `/PRJ_ROOT/gtk+-2.8.17/gtk/stock-icons'
GDK_PIXBUF_MODULE_FILE=../../gdk-pixbuf/gdk-pixbuf.loaders
../../gdk-pixbuf/gdk-pixbuf-csource                               \
   --raw --build-list stock_about_16          ./stock_about_16.png
stock_about_24          ./stock_about_24.png stock_add_16
./stock_add_16.png stock_add_24                 ./stock_add_24.png
stock_align_center_16        ./stock_align_center_16.png
stock_align_center_24       ./stock_align_center_24.png
stock_align_justify_16      ./stock_align_justify_16.png
stock_align_justify_24
./stock_align_justify_24.png stock_align_left_16
./stock_align_left_16.png stock_align_left_24
./stock_align_left_24.png stock_align_right_16
./stock_align_right_16.png stock_align_right_24
./stock_align_right_24.png stock_apply_20
./stock_apply_20.png stock_cancel_20            ./stock_cancel_20.png
stock_dnd_multiple_32     ./stock_dnd_multiple_32.png stock_bottom_16
        ./stock_bottom_16.png stock_bottom_24
./stock_bottom_24.png stock_cdrom_16            ./stock_cdrom_16.png
stock_cdrom_24             ./stock_cdrom_24.png stock_clear_24
   ./stock_clear_24.png stock_close_20
        ./stock_close_20.png stock_close_24
./stock_close_24.png stock_colorselector_24
./stock_colorselector_24.png stock_color_picker_25
./stock_color_picker_25.png > gtkstockpixbufs.h ||      \
           ( rm -f gtkstockpixbufs.h && false )

(process:1342831): GLib-GObject-WARNING **: cannot register existing
type `GdkPixbuf'




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]