GNOME Bugzilla – Bug 667382
libgda build fails in some vala-related way
Last modified: 2012-02-02 11:28:19 UTC
Created attachment 204709 [details] libgda_vala_output.txt I don't know what's happening in the attached build output, but something about either vala or gobject-introspection is failing badly, at least with recent glib. I have vala 0.15 (the latest), though I first tried it with vala 0.14, with the same results. This is breaking the libgda build.
What version of glib, GIR files installed do you have? Just the following output is usefull: * CRITICAL **: vala_gir_parser_add_symbol_to_container: assertion `sym != NULL' failed Gda-5.0.gir:19.53-19.53: error: The type name `GLib.RecMutex' could not be found <type name="GLib.RecMutex" c:type="GRecMutex"/> ^ Generation failed: 1 error(s), 0 warning(s) The other messages are warnings not related. If you don't have GLib-2.0.gir installed you'll get that messages or RecMutex has gone from gir file. Could you open you installed files to see if that symbol is defined?
> What version of glib, I have glib from git master. I have also built gobject-introspection from master. > GIR files installed do you have? > If you don't have GLib-2.0.gir I do, in <prefix>/share/gir-1.0/GLib-2.0.gir > installed you'll get that messages or RecMutex > has gone from gir file. It seems to be mentioned there: <record name="RecMutex" c:type="GRecMutex" version="2.32"> <doc xml:whitespace="preserve">The GRecMutex struct is an opaque data structure to represent a recursive mutex. It is similar to a #GMutex with the difference that it is possible to lock a GRecMutex multiple times in the same thread without deadlock. When doing so, care has to be taken to unlock the recursive mutex as often as it has been locked. I also have the (Ubuntu Oneiric) system's version of this file in /usr/share/gir-1.0/GLib-2.0.gir and that does not seem to have the same <record> section. But I hope that is not being used anyway. Note that I am using jhbuild. I notice also that libgda/Gda-5.0.gir is modififed by the libgda build. I don't think it is wise to have a generated file in git.
I'll try to reproduce the problem. I have to install GLIB from master and/or gobjectintrospection from master, because I have 2.30 on my Ubuntu 11.10 box, with gir1.2-glib-2.0 version 1.30.
I can see that GRecMutex has been added since up coming 2.32 but Vala glib-2.0.vapi hasn't been included jet. I've added Bug 667825 to include class RecMutex to glib-2.0.vapi in Vala bindings.
Bug #668765 might be related.
The build works for me now.