Re: [debutant] Erreur de compilation

2006-05-03 Par sujet Mitch

Pierre Lo Cicero a écrit :


Salut tous,

J'essaie de compiler un programme et j'ai ce message :

/usr/include/X11/Xlib.h:3573: error: expected initializer before 
'_X_SENTINEL'


Je ne me serais pas inquièté outre mesure si ce n'était que la 
comopilation de Aeolus, mais cela arrive systématiquement même pour 
des compilation KDE comme QDVDauthor.


Après recherche sur le net, il semblerait que ce soit du à un bug dans 
libxorg-x11 1.9 . Est-ce que quelqu'un à entendu parlé de cela ou 
d'une solution ?



Pierre Lo Cicero


Tu utilises 2006 ou Cooker? Tu as mis à jour ta machine?

Je n'ai ce type d'erreur ni sous 2006 ni sous Cooker - les deux, version 
64-bit.


Mitch
=
Vous souhaitez acquerir votre Pack ou des Services Mandriva?
Rendez-vous sur http://store.mandriva.com;.
Rejoignez le club mandrake : http://www.mandrivaclub.com
=


Re: [debutant] Erreur de compilation

2006-05-03 Par sujet Pierre Lo Cicero

Mitch a écrit :


Tu utilises 2006 ou Cooker? Tu as mis à jour ta machine?


2006. Mise à jour OK.

Mais bon j'ai trouvé en afinant la recherche sur google qui ne me donne 
qu'un seul site en résultat . (c'est la première fois que la solution se 
trouve sur un seul site :-) ). I)l semblerait que ce soit du à gcc 4 :


http://hollaco.blogspot.com/

---
The problem is the x11-dev package doesn't say ANYTHING about 
_X_SENTINEL. I think before GCC 4.0, GCC supplied the _X_SENTINEL 
variable. But since we're using 4.0 that doesn't include it, we have to 
add it ourselves.

The solution: (add this to the beginning of /usr/X11R6/include/X11/Xlib.h):



/* _X_SENTINEL BS */
#if defined(__GNUC__)  (__GNUC__ = 4)
# define _X_SENTINEL(x) __attribute__ ((__sentinel__(x)))
# define _X_ATTRIBUTE_PRINTF(x,y) 
__attribute__((__format__(__printf__,x,y)))

#else
# define _X_SENTINEL(x)
# define _X_ATTRIBUTE_PRINTF(x,y)
#endif /* GNUC = 4 */

Et après cela ça fonctionne.


Pierre Lo Cicero
=
Vous souhaitez acquerir votre Pack ou des Services Mandriva?
Rendez-vous sur http://store.mandriva.com;.
Rejoignez le club mandrake : http://www.mandrivaclub.com
=