GNOME Bugzilla – Bug 669957
valac explodes on Peas gir
Last modified: 2012-02-13 12:36:18 UTC
Created attachment 207424 [details] long error log jhbuild currently has totem using gir for Peas like so: /home/desrt/jhbuild/install/bin/valac --girdir=../../../src --pkg Totem-1.0 --pkg Peas-1.0 --pkg GtkClutter-1.0 --pkg clutter-1.0 --pkg gtk+-3.0 -C totem-rotation-plugin.vala This causes a rather impressive explosion of warnings, compiler criticals and errors (attached). Here's a much more minimal case: $ echo 'void main () { }' > x.vala $ time valac --pkg Peas-1.0 x.vala Peas-1.0.gir:166.7-166.29: warning: Virtual method `Peas.Engine.load_plugin' conflicts with method of the same name <virtual-method name="load_plugin"> ^^^^^^^^^^^^^^^^^^^^^^^ Peas-1.0.gir:176.7-176.33: warning: Virtual method `Peas.Engine.unload_plugin' conflicts with method of the same name <virtual-method name="unload_plugin"> ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Gio-2.0.gir:44284.7-44284.47: warning: Virtual method `G.Resolver.lookup_service_async' conflicts with method of the same name <virtual-method name="lookup_service_async"> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Gio-2.0.gir:46016.7-46016.31: warning: Signal `G.Settings.change_event' conflicts with method of the same name <virtual-method name="change_event"> ^^^^^^^^^^^^^^^^^^^^^^^^^ GLib-CRITICAL **: g_str_has_suffix: assertion `str != NULL' failed ** CRITICAL **: vala_gir_parser_node_lookup: assertion `name != NULL' failed Gio-2.0.gir:58858.7-58862.24: error: `UnixSocketAddress' already contains a definition for `abstract' Gio-2.0.gir:58730.7-58732.103: note: previous definition of `abstract' was here Compilation failed: 1 error(s), 4 warning(s) real 0m14.212s user 0m14.165s sys 0m0.020s Note that it takes 14 seconds of 100% CPU...
Peas-1.0 apparently pulls in Gio and that is what is apparently causing all the troubles. This can be seen by using the vapi version of gio thus: $ valac --pkg Peas-1.0 --pkg gio-2.0 x.vala Peas-1.0.gir:166.7-166.29: warning: Virtual method `Peas.Engine.load_plugin' conflicts with method of the same name <virtual-method name="load_plugin"> ^^^^^^^^^^^^^^^^^^^^^^^ Peas-1.0.gir:176.7-176.33: warning: Virtual method `Peas.Engine.unload_plugin' conflicts with method of the same name <virtual-method name="unload_plugin"> ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Compilation succeeded - 2 warning(s) which only gives some warnings (and no compiler-bug-indicating criticals).
*** This bug has been marked as a duplicate of bug 667751 ***