GNOME Bugzilla – Bug 741265
Doesn't build with Vala 0.28 (git master) and GTK+ 3.12 / 3.14
Last modified: 2014-12-08 20:27:00 UTC
When building California with Vala master, these errors occur: activator/california-activator-instance-list.o: In function `california_activator_instance_list_model_presentation': /home/jim/git/california/src/activator/activator-instance-list.vala:71: undefined reference to `gtk_label_set_xalign' activator/google/california-google-calendar-list-pane.o: In function `california_activator_google_calendar_list_pane_entry_to_widget': /home/jim/git/california/src/activator/google/google-calendar-list-pane.vala:113: undefined reference to `gtk_label_set_xalign' event-editor/california-event-editor-attendees-card.o: In function `california_event_editor_attendees_card_attendee_presentation_construct': /home/jim/git/california/src/event-editor/event-editor-attendees-card.vala:38: undefined reference to `gtk_label_set_xalign' host/california-host-show-event.o: In function `california_host_show_event_construct': /home/jim/git/california/src/host/host-show-event.vala:121: undefined reference to `gtk_label_set_xalign' It's a binding, not a compiler, problem. It appears GTK+ 3.16 is introducing new symbols for Gtk.Label (xalign and yalign properties) and deprecating its base class, Gtk.Misc (which is where the xalign and yalign properties previously existed). Thus, with this Vala code: label.xalign = 1.0f; This is legal in 3.0 to 3.16, but prior to 3.16 the symbol being called is gtk_misc_set_xalign(), while in 3.16 it's gtk_label_set_xalign(), which doesn't exist in earlier versions of GTK+.
Correction: there was no gtk_misc_set_xalign(). In older versions of Vala, GtkMisc's "xalign" property was being set via g_object_set().
Pushed to master, commit 44c977