#1 Le 14/08/2015, à 13:59
- abelthorne
Maynard : expected expression before struct
Bonjour,
Je suis en train d'essayer de compiler Maynard, un environnement de bureau léger destiné à la base au Raspberry Pi, sur (une MV) Ubuntu en suivant les instructions sur GitHub. Après avoir à priori compilé sans trop de problèmes Wayland et Weston, je passe à la dernière étape, Maynard lui-même. Mais pendant la compilation, j'ai plusieurs erreurs de ce genre :
shell-helper.c: In function 'shell_helper_move_surface':
shell-helper.c: 56:43: error: expected expression before 'struct'
view = container_of(surface->views.next, struct weston_view, surface_link);
^
J'aurais tendance à penser que ce genre de tolérance syntaxique dépend du compilateur utilisé et donc que je n'utilise peut-être pas la bonne version de GCC ou quelque chose dans le genre ? ou c'est plus compliqué que ça et va nécessiter de plonger dans le code (ce que je suis complètement incapable de faire) ?
Hors ligne
#2 Le 14/08/2015, à 18:23
- elburgos
Re : Maynard : expected expression before struct
Je peux me tromper, mais au premier abord il semblerait que la macro " container_of " ne soit pas définie.
J'essayerai de regardé ça plus tard (vendredi soir c'est apéro + concert ...)
Envoyé depuis mon Windows Phone
Hors ligne
#3 Le 15/08/2015, à 08:09
- elburgos
Re : Maynard : expected expression before struct
C'est un peu du bricolage, mais dans le dossier Maynard/shell/shell-helper.c rajoute après les #include :
#define container_of(ptr, type, member) ({ \
const __typeof__( ((type *)0)->member ) *__mptr = (ptr); \
(type *)( (char *)__mptr - offsetof(type,member) );})
Ça fait quoi ?
Envoyé depuis mon Windows Phone
Hors ligne
#4 Le 15/08/2015, à 09:50
- abelthorne
Re : Maynard : expected expression before struct
Je vais essayer mais je n'ai cité que le premier message d'erreur ; en tout, il y en avait 7 ou 8, je crois, avec des fonctions/macros différentes. Comme ça portait plus ou moins sur une erreur de syntaxe, je pensais que ça venait du compilateur mais il me manque peut-être des biblis avec des headers ?
Hors ligne
#5 Le 15/08/2015, à 18:30
- elburgos
Re : Maynard : expected expression before struct
Il te manque un header à mon avis, où serait défini ta macro et autres, car dans ton fichier shell-helper.c ils veulent inclure shell-helper-server-protocol.h, qui est local, mais inconnu au bataillon dans ton dossier, car il est en gitignore.
Envoyé depuis mon Windows Phone
Hors ligne
#6 Le 15/08/2015, à 19:32
- abelthorne
Re : Maynard : expected expression before struct
Ouh là, il y a tant de mots que je ne comprends pas dans cette réponse.
Hors ligne
#7 Le 15/08/2015, à 22:08
- grim7reaper
Re : Maynard : expected expression before struct
Salut,
En regardant le code du dépôt, on peut voir que certains fichiers on pas bougé depuis un ou deux ans…
On peut aussi voir que récemment, la macro container_of a été déplacée.
Du coup, ta version de Maynard est peut-être pas compatible avec ta version de Wayland.
Hors ligne
#8 Le 16/08/2015, à 00:12
- abelthorne
Re : Maynard : expected expression before struct
Ah, merci pour l'info.
Bon, je crois que je vais laisser tomber. C'était juste pour voir un peu à quoi ça ressemblait, de toute façon.
Hors ligne