[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#849932: libindicate: FTBFS (Fields cannot have void type)



Control: reassign -1 gtk-sharp2-gapi
Control: affects -1 src:libindicate
Control: retitle -1 gtk-sharp2-gapi: gapi2-codegen generates fields with void type

Gilles Filippini a écrit le 01/02/2017 à 00:05 :
> On Mon, 02 Jan 2017 12:01:41 +0000 Santiago Vila <sanvila@debian.org> wrote:
>> I tried to build this package in stretch with "dpkg-buildpackage -A"
>> (which is what the "Arch: all" autobuilder would do to build it)
>> but it failed:
[snip]
>> /usr/bin/mono-csc  -keyfile:/<<PKGBUILDDIR>>/./bindings/mono/indicate/indicate.snk -nowarn:0169,0612,0618 -unsafe -out:indicate-sharp.dll -target:library -r:/usr/lib/pkgconfig/../../lib/cli/pango-sharp-2.0/pango-sharp.dll -r:/usr/lib/pkgconfig/../../lib/cli/atk-sharp-2.0/atk-sharp.dll -r:/usr/lib/pkgconfig/../../lib/cli/gdk-sharp-2.0/gdk-sharp.dll -r:/usr/lib/pkgconfig/../../lib/cli/gtk-sharp-2.0/gtk-sharp.dll -r:/usr/lib/pkgconfig/../../lib/cli/glib-sharp-2.0/glib-sharp.dll ./generated/*.cs AssemblyInfo.cs
>> ./generated/ListenerServer.cs(62,10): error CS0670: Fields cannot have void type
>> ./generated/ListenerServer.cs(62,28): error CS1547: Keyword `void' cannot be used in this context
[snip]
> 
> This is caused by gtk-sharp2 2.12.40 generating this line in file ListenerServer.cs:
>                 static void _gtype = new void (indicate_listener_server_get_type(listener == null ? IntPtr.Zero : listener.Handle, server == null ? IntPtr.Zero : server.Handle, cb_wrapper.NativeDelegate, IntPtr.Zero));
> 
> This line doesn't appear when building against the previous gtk-sharp2 release from snapshot.d.o (2.12.10). According to [1] it works with gtk-sharp2 2.12.29 as well. A bisect between releases 2.12.29 and 2.12.40 of gtk-sharp2 might give something.
> 
> [1] https://github.com/chenxiaolong/Unity-for-Arch/issues/243

I've setup a simple testcase (xml file attached) to run with:
$ gapi2-codegen --generate indicate-api.xml --outdir=.

I've used it to bisect gtk-sharp2 releases, and I've found out that the error is introduced by gtk-sharp2 upstream commit dd4c742 [1].

[1] https://github.com/mono/gtk-sharp/commit/dd4c74292e9a91461a778f1759b64facf7cf68ac

Then reassigning this bug to gtk-sharp2-gapi.

Thanks,

_g.
<?xml version="1.0"?>
<api>
  <namespace name="Indicate" library="indicate-sharp.dll">
    <struct name="ListenerServer" cname="IndicateListenerServer" opaque="true">
      <method name="GetType" cname="indicate_listener_server_get_type" shared="true">
        <return-type type="void" />
      </method>
    </struct>
    <callback name="GetTypeCallback" cname="GetTypeCallback">
      <return-type type="void" />
    </callback>
  </namespace>
</api>

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: