Bug 45154

Summary: spice-gtk --enable-vala fails to build on Debian/Ubuntu
Product: Spice Reporter: Jeremy Bicha <jbicha>
Component: spice-gtkAssignee: Spice Bug List <spice-bugs>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: medium    
Version: unspecified   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: build: fix vapigen error and warnings
build: fix vapigen error and warnings

Description Jeremy Bicha 2012-01-23 13:43:51 UTC
With either vala 0.14.1 or 0.15 and glib 2.31 on Ubuntu 12.04 Alpha amd64 (or on Debian unstable amd64 with glib 2.30.2 and vala 0.14.0), the gtk3 build of spice-gtk 0.8 fails when --enable-vala is used. (--enable-vala works with the gtk2 build but I don't have any need for that).

Full build log: http://fpaste.org/d4VC/

Excerpt of failure:

/spice-gtk-0.8/build-gtk3/vapi$ make V=1
/usr/bin/vapigen			\
		--library spice-client-glib-2.0	\
		../gtk/SpiceClientGLib-2.0.gir
SpiceClientGLib-2.0.gir:223.7-223.21: warning: Virtual method `Spice.Channel.open_fd' conflicts with method of the same name
      <virtual-method name="open_fd">
      ^^^^^^^^^^^^^^^
Gio-2.0.gir:42638.7-42638.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:44031.7-44031.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:54633.7-54633.25: warning: Virtual method `G.TlsPassword.set_value' conflicts with method of the same name
      <virtual-method name="set_value">
      ^^^^^^^^^^^^^^^^^^^
Gio-2.0.gir:56225.7-56229.24: error: `UnixSocketAddress' already contains a definition for `abstract'
Gio-2.0.gir:56097.7-56099.103: note: previous definition of `abstract' was here
Generation failed: 1 error(s), 4 warning(s)
make: *** [spice-client-glib-2.0.vapi] Error 1
Comment 1 Marc-Andre Lureau 2012-01-23 14:01:39 UTC
(In reply to comment #0)
> With either vala 0.14.1 or 0.15 and glib 2.31 on Ubuntu 12.04 Alpha amd64 (or
> on Debian unstable amd64 with glib 2.30.2 and vala 0.14.0), the gtk3 build of
> spice-gtk 0.8 fails when --enable-vala is used. (--enable-vala works with the
> gtk2 build but I don't have any need for that).
> 
> Full build log: http://fpaste.org/d4VC/
> 
> Excerpt of failure:
> 
> /spice-gtk-0.8/build-gtk3/vapi$ make V=1
> /usr/bin/vapigen            \
>         --library spice-client-glib-2.0    \
>         ../gtk/SpiceClientGLib-2.0.gir

Can you try adding --pkg gio-2.0 argument for this command?

thanks
Comment 2 Jeremy Bicha 2012-01-23 14:14:16 UTC
Thanks! That works although there's still a warning.


spice-gtk-0.8/build-gtk3/vapi$ /usr/bin/vapigen --library spice-client-glib-2.0 --pkg gio-2.0 ../gtk/SpiceClientGLib-2.0.gir
SpiceClientGLib-2.0.gir:223.7-223.21: warning: Virtual method `Spice.Channel.open_fd' conflicts with method of the same name
      <virtual-method name="open_fd">
      ^^^^^^^^^^^^^^^
Generation succeeded - 1 warning(s)
Comment 3 Marc-Andre Lureau 2012-01-23 14:44:43 UTC
Created attachment 56057 [details] [review]
build: fix vapigen error and warnings
Comment 4 Marc-Andre Lureau 2012-01-23 14:46:32 UTC
Created attachment 56058 [details] [review]
build: fix vapigen error and warnings
Comment 5 Marc-Andre Lureau 2012-01-23 14:47:36 UTC
forget the 1st patch,

second patch works for me. I'll wait for you to check it before pushing it.

thanks
Comment 6 Jeremy Bicha 2012-01-23 16:29:06 UTC
Thanks for the patch. The patch only worked if I moved  --pkg gio-2.0 from the spice-client-gtk*.vapi section to the spice-client-glib-2.0.vapi section.
Comment 7 Marc-Andre Lureau 2012-01-23 17:03:50 UTC
thanks, corrected patch pushed (git bz failed on me again).

http://cgit.freedesktop.org/spice/spice-gtk/commit/?id=c4ac4ca2bfdd01feb5049a83be781fab14bb7050

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.