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 640902 - X11 headers included by default in public headers
X11 headers included by default in public headers
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: Other
2.90.x
Other Linux
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2011-01-29 16:45 UTC by Xan Lopez
Modified: 2011-01-31 04:57 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Xan Lopez 2011-01-29 16:45:08 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.
Comment 1 Matthias Clasen 2011-01-29 19:35:24 UTC
Fixed by adding gtkx.h
Comment 2 Germán Poo-Caamaño 2011-01-30 04:13:02 UTC
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'
Comment 3 Germán Poo-Caamaño 2011-01-30 04:21:28 UTC
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
Comment 4 Matthias Clasen 2011-01-31 04:57:10 UTC
Should be fixed now, I think.