After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 657648 - Can't compile caribou with vala > 0.13.1
Can't compile caribou with vala > 0.13.1
Status: RESOLVED FIXED
Product: caribou
Classification: Applications
Component: default
git master
Other Linux
: Normal normal
: ---
Assigned To: caribou-maint
caribou-maint
Depends on:
Blocks:
 
 
Reported: 2011-08-29 18:14 UTC by Rui Matos
Modified: 2011-08-30 00:39 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Added annotations for list struct members in vapi. (1.65 KB, patch)
2011-08-30 00:38 UTC, Eitan Isaacson
committed Details | Review

Description Rui Matos 2011-08-29 18:14:39 UTC
I didn't have time to do a full git bisect but I manually downgraded vala iteratively from master through all tags until 0.13.1 and this was the only one that allowed me to compile caribou (master). This is the error:


    CC libcaribou_la-group-model.lo
    CC libcaribou_la-level-model.lo
    xadapter.c: In function 'caribou_xadapter_get_reserved_keycode':
    xadapter.c:426:29: error: 'XkbClientMapRec' has no member named 'key_sym_map_length1'
    xadapter.c: In function 'caribou_xadapter_replace_keycode':
    xadapter.c:524:25: error: 'XkbClientMapRec' has no member named 'key_sym_map_length1'
    xadapter.c:531:10: warning: assignment from incompatible pointer type [enabled by default]
    xadapter.c:532:27: error: 'XkbClientMapRec' has no member named 'syms_length1'
    xadapter.c: In function 'caribou_xadapter_get_current_group':
    xadapter.c:848:25: error: 'XklConfigRec' has no member named 'layouts_length1'
    xadapter.c:856:25: error: 'XklConfigRec' has no member named 'variants_length1'
    xadapter.c: In function 'caribou_xadapter_get_groups':
    xadapter.c:931:27: error: 'XklConfigRec' has no member named 'layouts_length1'
    xadapter.c:989:29: error: 'XklConfigRec' has no member named 'layouts_length1'
    xadapter.c:998:29: error: 'XklConfigRec' has no member named 'variants_length1'
    xadapter.c:1017:30: error: 'XklConfigRec' has no member named 'variants_length1'
    make[1]: *** [libcaribou_la-xadapter.lo] Error 1
    make[1]: *** Waiting for unfinished jobs....
    make[1]: Leaving directory `/home/rui/Source/git.gnome.org/caribou/libcaribou'
    make: *** [all-recursive] Error 1
Comment 1 Jürg Billeter 2011-08-29 19:22:32 UTC
These errors appear to be caused by bugs in the xkl / xkb bindings that are shipped as part of Caribou. Changes in the code generator trigger these issues but they need to be fixed in the bindings.

I'm not familiar with these C libraries, but I assume that the relevant string array fields have to be annotated with the following attribute

        [CCode (array_length = false, array_null_terminated = true)]

to indicate that the arrays are null-terminated and don't have a separate struct member for the array length.
Comment 2 Eitan Isaacson 2011-08-30 00:38:06 UTC
Created attachment 195145 [details] [review]
Added annotations for list struct members in vapi.
Comment 3 Eitan Isaacson 2011-08-30 00:39:28 UTC
Comment on attachment 195145 [details] [review]
Added annotations for list struct members in vapi.

Thanks for explaing what was wrong, committed.