GNOME Bugzilla – Bug 640902
X11 headers included by default in public headers
Last modified: 2011-01-31 04:57:10 UTC
Recent commits (like ad1f9cc0c62b574489e3ed5b3e6becec6ce72029) add gdkx.h to the GTK+ public headers by default on Linux/X11. This makes all the X11 symbols bleed into the public "namespace", causing massive symbol collision in WebKit, for example. Not sure if there's something to "fix" here, but just want to raise the issue since it will likely affect many people.
Fixed by adding gtkx.h
I am reopening because it is probably related: I have tried using <gtk/gtkx.h> to get GtkSocket with no luck. But, when I was compiling gtk master (f783a75d61dbe) and later cbc4e823141 I got the following output that makes me think this is still an issue in gtk+: gtktypefuncs.c: In function ‘gtk_test_register_all_types’: gtktypefuncs.c:63: warning: implicit declaration of function ‘gdk_x11_app_launch_context_get_type’ gtktypefuncs.c:64: warning: implicit declaration of function ‘gdk_x11_cursor_get_type’ gtktypefuncs.c:65: warning: implicit declaration of function ‘gdk_x11_device_core_get_type’ gtktypefuncs.c:66: warning: implicit declaration of function ‘gdk_x11_device_manager_core_get_type’ gtktypefuncs.c:67: warning: implicit declaration of function ‘gdk_x11_device_manager_xi2_get_type’ gtktypefuncs.c:68: warning: implicit declaration of function ‘gdk_x11_device_manager_xi_get_type’ gtktypefuncs.c:69: warning: implicit declaration of function ‘gdk_x11_device_xi2_get_type’ gtktypefuncs.c:70: warning: implicit declaration of function ‘gdk_x11_device_xi_get_type’ gtktypefuncs.c:71: warning: implicit declaration of function ‘gdk_x11_display_get_type’ gtktypefuncs.c:72: warning: implicit declaration of function ‘gdk_x11_display_manager_get_type’ gtktypefuncs.c:73: warning: implicit declaration of function ‘gdk_x11_drag_context_get_type’ gtktypefuncs.c:74: warning: implicit declaration of function ‘gdk_x11_keymap_get_type’ gtktypefuncs.c:75: warning: implicit declaration of function ‘gdk_x11_screen_get_type’ gtktypefuncs.c:76: warning: implicit declaration of function ‘gdk_x11_visual_get_type’ gtktypefuncs.c:77: warning: implicit declaration of function ‘gdk_x11_window_get_type’ gtktypefuncs.c:239: warning: implicit declaration of function ‘gtk_plug_get_type’ gtktypefuncs.c:298: warning: implicit declaration of function ‘gtk_socket_get_type’ [...] GISCAN Gtk-3.0.gir <unknown>:: Warning: Gtk: (Interface)AppChooser: context=Interface('AppChooser') Failed to find class structure for 'AppChooser' <unknown>:: Warning: Gtk: (Class)Clipboard: context=Class('Clipboard') Failed to find class structure for 'Clipboard' <unknown>:: Warning: Gtk: (Class)FileFilter: context=Class('FileFilter') Failed to find class structure for 'FileFilter' <unknown>:: Warning: Gtk: (Interface)FileChooser: context=Interface('FileChooser') Failed to find class structure for 'FileChooser' <unknown>:: Warning: Gtk: (Class)Tooltip: context=Class('Tooltip') Failed to find class structure for 'Tooltip' <unknown>:: Warning: Gtk: (Class)PageSetup: context=Class('PageSetup') Failed to find class structure for 'PageSetup' <unknown>:: Warning: Gtk: (Class)PrintContext: context=Class('PrintContext') Failed to find class structure for 'PrintContext' <unknown>:: Warning: Gtk: (Class)PrintSettings: context=Class('PrintSettings') Failed to find class structure for 'PrintSettings' <unknown>:: Warning: Gtk: (Class)RecentFilter: context=Class('RecentFilter') Failed to find class structure for 'RecentFilter' <unknown>:: Warning: Gtk: (Signal)size-allocate: context=Signal('size-allocate') argument object: Unresolved type: 'GdkRectangle' <unknown>:: Warning: Gtk: (Signal)child-notify: context=Signal('child-notify') argument pspec: Unresolved type: 'GParam' [...] gtkrecentchooser.h:135: Warning: Gtk: RecentChooser: Virtual function 'get_recent_manager' has no known invoker gtktoolshell.h:44: gtktoolshell.h:75: Warning: Gtk: ToolShell: Virtual function 'get_icon_size' has no known invoker gtksocket.h:76: Warning: Gtk: gtk_socket_add_id: argument window: Unresolved type: 'Window' gtksocket.h:78: Warning: Gtk: gtk_socket_get_id: return value: Unresolved type: 'Window' gtksocket.h:79: Warning: Gtk: gtk_socket_get_plug_window: return value: Missing (transfer) annotation gtkplug.h:80: Warning: Gtk: gtk_plug_construct: argument socket_id: Unresolved type: 'Window' gtkplug.h:85: Warning: Gtk: gtk_plug_construct_for_display: argument socket_id: Unresolved type: 'Window' gtkplug.h:90: Warning: Gtk: gtk_plug_get_id: return value: Unresolved type: 'Window' gtkplug.h:92: Warning: Gtk: gtk_plug_get_socket_window: return value: Missing (transfer) annotation gtkplug.h:82: Warning: Gtk: gtk_plug_new: argument socket_id: Unresolved type: 'Window' gtkplug.h:88: Warning: Gtk: gtk_plug_new_for_display: argument socket_id: Unresolved type: 'Window' GICOMP Gtk-3.0.gir make[4]: Leaving directory `/home/gpoo/code/gnome3/checkout/gtk+-3/gtk'
FWIW, one of the build slaves also shows the same output http://build.gnome.org/builders/gtk%2B-3-bxlug-sid/builds/618/steps/gtk%2B-3%20build/logs/stdio
Should be fixed now, I think.