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 630106 - gtk instrospection failure to build
gtk instrospection failure to build
Status: RESOLVED DUPLICATE of bug 610709
Product: gtk+
Classification: Platform
Component: Widget: Other
2.90.x
Other Linux
: Normal major
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2010-09-19 23:12 UTC by Alban Browaeys
Modified: 2010-09-22 14:30 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
add gdk from builddir to gtk instrospection build (921 bytes, text/plain)
2010-09-19 23:12 UTC, Alban Browaeys
Details

Description Alban Browaeys 2010-09-19 23:12:11 UTC
Created attachment 170608 [details]
add gdk from builddir to gtk instrospection build

if system gdk is older then 18 of sept 

commit b837ef5a6d2ce003eae3dd558ac1ac9934e9d72c
Author: Havoc Pennington <hp@pobox.com>
Date:   Sat Sep 18 18:19:27 2010 -0400

    Revamp and modernize X error traps
    
    * add per-display gdk_x11_display_error_trap_push()
      (X11-specific because gdk_error_trap_push() probably
      should have been)
    * make gdk_error_trap_push() handle only GDK displays
      not displays opened without a GDK wrapper
    * make gdk_error_trap_pop() and gdk_x11_display_error_trap_pop()
      automatically sync only if needed, so manual gdk_flush() is not
      required
    * add gdk_error_trap_pop_ignored() which just asynchronously
      ignores errors, so never needs to sync
    * add G_GNUC_WARN_UNUSED_RESULT to plain pop(), because
      if you use plain pop() and don't need the return value,
      the async gdk_error_trap_pop_ignored() should be used
      instead. This results in lots of warnings to clean
      up in a later patch.
    
    The main objective here was to avoid the need to sync just
    to ignore an error. Now, syncing is automatic, and only
    happens when we need to know the error code.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=629608

which introduces gdk_error_trap_pop_ignored



and an attempt to build newer than 

commit 1243b4861c6b959b1ca4ebb724e3d82f61d78a78
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Sat Sep 18 23:17:31 2010 -0400

    Use gdk_error_trap_pop_ignore() where appropriate


where its usage was extended to the gtk subdirectory the build fails with:


g-ir-scanner: link: /bin/bash ../libtool --mode=link --tag=CC --silent gcc -o /home/prahal/Projects/Admin/Backends/Xorg1.8/gtk+/gtk/tmp-introspectdV_ocR/Gtk-3.0 -L. -Wl,--export-dynamic -pthread -L/usr/local/lib -lgirepository-1.0 -lgobject-2.0 -lgmodule-2.0 -lffi -lgthread-2.0 -lrt -lglib-2.0 libgtk-x11-3.0.la -pthread -Wl,--export-dynamic -L/usr/local/lib -lgio-2.0 -lgirepository-1.0 -lgobject-2.0 -lgmodule-2.0 -lffi -lgthread-2.0 -lrt -lglib-2.0 /home/prahal/Projects/Admin/Backends/Xorg1.8/gtk+/gtk/tmp-introspectdV_ocR/Gtk-3.0.o
./.libs/libgtk-x11-3.0.so: undefined reference to `gdk_error_trap_pop_ignored'



I fixes this with attached patch as I guessed for introspection the gdk from the system was used instead of the one from the build directory.
Comment 1 Javier Jardón (IRC: jjardon) 2010-09-19 23:30:21 UTC
I can't reproduce here, what version of gobject-introspection are you using?
Comment 2 Alban Browaeys 2010-09-22 14:30:25 UTC

*** This bug has been marked as a duplicate of bug 610709 ***