[ 
https://issues.apache.org/jira/browse/THRIFT-1925?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Simon South reassigned THRIFT-1925:
-----------------------------------

    Assignee: Simon South

> c_glib generated code does not compile
> --------------------------------------
>
>                 Key: THRIFT-1925
>                 URL: https://issues.apache.org/jira/browse/THRIFT-1925
>             Project: Thrift
>          Issue Type: Bug
>          Components: C glib - Compiler
>    Affects Versions: 0.8, 0.9
>         Environment: Linux wintermute 3.5.0-21-generic #32-Ubuntu SMP Tue Dec 
> 11 18:51:59 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
> gcc version 4.7.2 (Ubuntu/Linaro 4.7.2-2ubuntu1) 
>            Reporter: Christoph Rupp
>            Assignee: Simon South
>
> I am trying to build the Hypertable thrift bindings for C_glib, but the 
> generated files fail to compile.
> Here is the error message:
> {noformat}
> /home/chris/ht/hypertable/src/c/ThriftClient/gen-c_glib/client_types.c: In 
> function ‘result_as_arrays_read’:
> /home/chris/ht/hypertable/src/c/ThriftClient/gen-c_glib/client_types.c:2708:19:
>  warning: passing argument 1 of ‘g_ptr_array_add’ from incompatible pointer 
> type [enabled by default]
> In file included from /usr/include/glib-2.0/glib.h:33:0,
>                  from /usr/include/glib-2.0/gobject/gbinding.h:30,
>                  from /usr/include/glib-2.0/glib-object.h:25,
>                  from 
> /home/chris/ht/hypertable/src/c/ThriftClient/gen-c_glib/client_types.h:11,
>                  from 
> /home/chris/ht/hypertable/src/c/ThriftClient/gen-c_glib/client_types.c:8:
> /usr/include/glib-2.0/glib/garray.h:139:12: note: expected ‘struct GPtrArray 
> *’ but argument is of type ‘struct GPtrArray **’
> /home/chris/ht/hypertable/src/c/ThriftClient/gen-c_glib/client_types.c: In 
> function ‘result_as_arrays_write’:
> /home/chris/ht/hypertable/src/c/ThriftClient/gen-c_glib/client_types.c:2854:140:
>  warning: dereferencing ‘void *’ pointer [enabled by default]
> /home/chris/ht/hypertable/src/c/ThriftClient/gen-c_glib/client_types.c:2854:140:
>  error: request for member ‘len’ in something not a structure or union
> /home/chris/ht/hypertable/src/c/ThriftClient/gen-c_glib/client_types.c:2858:78:
>  warning: dereferencing ‘void *’ pointer [enabled by default]
> /home/chris/ht/hypertable/src/c/ThriftClient/gen-c_glib/client_types.c:2858:78:
>  error: request for member ‘len’ in something not a structure or union
> make[2]: *** 
> [src/c/ThriftClient/CMakeFiles/HyperThriftC.dir/gen-c_glib/client_types.c.o] 
> Error 1
> make[1]: *** [src/c/ThriftClient/CMakeFiles/HyperThriftC.dir/all] Error 2
> make: *** [all] Error 2
> {noformat}
> Here is client_types.c:2858:
> {noformat}
> for (i=0; i<g_ptr_array_index ((GPtrArray *) this_object->cells, i)->len; i++)
> {noformat}
> I added another casst to GPtrArray *, and then the code compiles:
> {noformat}
> for (i=0; i<((GPtrArray *)(g_ptr_array_index ((GPtrArray *) 
> this_object->cells, i)))->len; i++)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to