GNOME Bugzilla – Bug 710584
Fails to build with only the wayland backend enabled
Last modified: 2014-04-28 23:18:57 UTC
Building gtk+ master with --enable-wayland-backend --disable-x11-backend fails with: .libs/libgtk_3_la-gtkapplicationwindow.o: In function `gtk_application_window_real_map': /home/emilio/src/gnome/gtk+/gtk/gtkapplicationwindow.c:752: undefined reference to `gtk_application_get_menubar_object_path' /home/emilio/src/gnome/gtk+/gtk/gtkapplicationwindow.c:751: undefined reference to `gtk_application_get_app_menu_object_path' /usr/bin/ld: .libs/libgtk-3.so.0.1100.0: hidden symbol `gtk_application_get_app_menu_object_path' isn't defined /usr/bin/ld: final link failed: Bad value collect2: error: ld returned 1 exit status That's because those symbols are in gtk/gtkapplication.c under #ifdef GDK_WINDOWING_X11
I'm trying to build GTK in the Sailfish SDK, which is Wayland only, and is getting this error too.
Created attachment 264985 [details] [review] Patch to move the ifdef's around so that the needed symbols are enabled Just editing what is enabled/disabled by '#ifdef GDK_WINDOWING_X11' seems to make gtk+-3.10.6 compile fine. I have been able to compile and run various GTK+3 with the changes. I don't know if this will cause any problems with other systems though.
Pardon, the above should be: "...compile and run various GTK+3 applications with the changes."
I just successfully did a wayland-only build, so I guess this was fixed.