erreur: erreur de syntaxe avant « size_t »
Bonjour,
Je travaille sur une Centos 4 et j'essaie de compiler une bibliothèque (la dernière version de la libmnl). Après quelques manips pour résoudre des messages d'erreur, je tombe sur le message cité en titre.
Trouvant étrange qu'il ne reconnaisse pas le size_t, je teste avec un petit executable:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int
main (int argc,
char *argv[])
{
size_t s;
s = sizeof (long);
printf ("Taille d'un long: %ul\n", s);
return 0;
} |
Mais rien à faire. Le compilateur gcc me retourne une tétrachiée de messages d'erreur.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
| [root@localhost libmnl]# gcc -g -o /tmp/p /tmp/p.c
In file included from /usr/include/_G_config.h:44,
from /usr/include/libio.h:32,
from /usr/include/stdio.h:72,
from /tmp/p.c:1:
/usr/include/gconv.h:72: erreur: erreur de syntaxe avant « size_t »
/usr/include/gconv.h:88: erreur: erreur de syntaxe avant « size_t »
/usr/include/gconv.h:97: erreur: erreur de syntaxe avant « size_t »
/usr/include/gconv.h:174: erreur: erreur de syntaxe avant « size_t »
/usr/include/gconv.h:177: erreur: erreur de syntaxe avant un élément lexical « } »
In file included from /usr/include/libio.h:32,
from /usr/include/stdio.h:72,
from /tmp/p.c:1:
/usr/include/_G_config.h:47: erreur: champ « __cd » est de type incomplet
/usr/include/_G_config.h:50: erreur: champ « __cd » est de type incomplet
In file included from /usr/include/stdio.h:72,
from /tmp/p.c:1:
/usr/include/libio.h:328: erreur: erreur de syntaxe avant « size_t »
/usr/include/libio.h:332: erreur: « size_t » non déclaré ici (hors de toute fonction)
/usr/include/libio.h:334: erreur: erreur de syntaxe avant un élément lexical « } »
/usr/include/libio.h:360: erreur: erreur de syntaxe avant « size_t »
/usr/include/libio.h:369: erreur: erreur de syntaxe avant « size_t »
/usr/include/libio.h:485: erreur: erreur de syntaxe avant « _IO_sgetn »
/usr/include/libio.h:485: erreur: erreur de syntaxe avant « size_t »
In file included from /tmp/p.c:1:
/usr/include/stdio.h:304: erreur: erreur de syntaxe avant « size_t »
/usr/include/stdio.h:311: erreur: erreur de syntaxe avant « size_t »
/usr/include/stdio.h:353: erreur: erreur de syntaxe avant « size_t »
/usr/include/stdio.h:357: erreur: erreur de syntaxe avant « size_t »
/usr/include/stdio.h:605: erreur: erreur de syntaxe avant « fread »
/usr/include/stdio.h:605: erreur: erreur de syntaxe avant « size_t »
/usr/include/stdio.h:611: erreur: erreur de syntaxe avant « fwrite »
/usr/include/stdio.h:611: erreur: erreur de syntaxe avant « size_t »
/usr/include/stdio.h:633: erreur: erreur de syntaxe avant « fread_unlocked »
/usr/include/stdio.h:633: erreur: erreur de syntaxe avant « size_t »
/usr/include/stdio.h:635: erreur: erreur de syntaxe avant « fwrite_unlocked »
/usr/include/stdio.h:635: erreur: erreur de syntaxe avant « size_t »
In file included from /tmp/p.c:3:
/usr/include/string.h:39: erreur: erreur de syntaxe avant « size_t »
/usr/include/string.h:43: erreur: erreur de syntaxe avant « size_t »
/usr/include/string.h:52: erreur: erreur de syntaxe avant « size_t »
/usr/include/string.h:59: erreur: erreur de syntaxe avant « size_t »
/usr/include/string.h:62: erreur: erreur de syntaxe avant « size_t »
/usr/include/string.h:66: erreur: erreur de syntaxe avant « size_t »
/usr/include/string.h:88: erreur: erreur de syntaxe avant « size_t »
/usr/include/string.h:96: erreur: erreur de syntaxe avant « size_t »
/usr/include/string.h:102: erreur: erreur de syntaxe avant « size_t »
/usr/include/string.h:109: erreur: erreur de syntaxe avant « strxfrm »
/usr/include/string.h:110: erreur: erreur de syntaxe avant « size_t »
/usr/include/string.h:184: erreur: erreur de syntaxe avant « strcspn »
/usr/include/string.h:188: erreur: erreur de syntaxe avant « strspn »
/usr/include/string.h:242: erreur: erreur de syntaxe avant « strlen »
/usr/include/string.h:281: erreur: erreur de syntaxe avant « size_t »
/usr/include/string.h:288: erreur: erreur de syntaxe avant « size_t »
/usr/include/string.h:292: erreur: erreur de syntaxe avant « size_t »
/usr/include/string.h:296: erreur: erreur de syntaxe avant « size_t »
/usr/include/string.h:299: erreur: erreur de syntaxe avant « size_t »
/usr/include/string.h:329: erreur: erreur de syntaxe avant « size_t »
In file included from /tmp/p.c:4:
/usr/include/stdlib.h:140: erreur: erreur de syntaxe avant « __ctype_get_mb_cur_max »
In file included from /usr/include/sys/types.h:133,
from /usr/include/stdlib.h:433,
from /tmp/p.c:4:
/usr/include/linux/time.h:10: erreur: erreur de syntaxe avant « time_t »
/usr/include/linux/time.h:12: erreur: erreur de syntaxe avant un élément lexical « } »
/usr/include/linux/time.h:18: erreur: erreur de syntaxe avant « time_t »
/usr/include/linux/time.h:44: erreur: champ « it_interval » est de type incomplet
/usr/include/linux/time.h:45: erreur: champ « it_value » est de type incomplet
/usr/include/linux/time.h:49: erreur: champ « it_interval » est de type incomplet
/usr/include/linux/time.h:50: erreur: champ « it_value » est de type incomplet
In file included from /usr/include/sys/select.h:46,
from /usr/include/sys/types.h:216,
from /usr/include/stdlib.h:433,
from /tmp/p.c:4:
/usr/include/bits/time.h:70: erreur: nested redefinition of `struct timeval'
In file included from /usr/include/sys/types.h:266,
from /usr/include/stdlib.h:433,
from /tmp/p.c:4:
/usr/include/bits/pthreadtypes.h:48: erreur: erreur de syntaxe avant « size_t »
/usr/include/bits/pthreadtypes.h:51: erreur: erreur de syntaxe avant « __stacksize »
In file included from /tmp/p.c:4:
/usr/include/stdlib.h:450: erreur: erreur de syntaxe avant « size_t »
/usr/include/stdlib.h:480: erreur: erreur de syntaxe avant « size_t »
/usr/include/stdlib.h:584: erreur: erreur de syntaxe avant « __size »
/usr/include/stdlib.h:586: erreur: erreur de syntaxe avant « __nmemb »
/usr/include/stdlib.h:595: erreur: erreur de syntaxe avant « size_t »
In file included from /usr/include/stdlib.h:606,
from /tmp/p.c:4:
/usr/include/alloca.h:33: erreur: erreur de syntaxe avant « __size »
In file included from /tmp/p.c:4:
/usr/include/stdlib.h:611: erreur: erreur de syntaxe avant « __size »
/usr/include/stdlib.h:768: erreur: erreur de syntaxe avant « size_t »
/usr/include/stdlib.h:773: erreur: erreur de syntaxe avant « size_t »
/usr/include/stdlib.h:846: erreur: erreur de syntaxe avant « size_t »
/usr/include/stdlib.h:849: erreur: erreur de syntaxe avant « size_t »
/usr/include/stdlib.h:853: erreur: erreur de syntaxe avant « size_t »
/usr/include/stdlib.h:857: erreur: erreur de syntaxe avant « size_t »
/usr/include/stdlib.h:866: erreur: erreur de syntaxe avant « size_t »
/usr/include/stdlib.h:869: erreur: erreur de syntaxe avant un élément lexical /usr/include/stdlib.h:869: erreur: erreur de syntaxe avant un élément lexical « * »
/usr/include/stdlib.h:873: erreur: erreur de syntaxe avant « wchar_t »
/usr/include/stdlib.h:877: erreur: erreur de syntaxe avant « mbstowcs »
/usr/include/stdlib.h:877: erreur: erreur de syntaxe avant un élément lexical « * »
/usr/include/stdlib.h:880: erreur: erreur de syntaxe avant « wcstombs »
/usr/include/stdlib.h:881: erreur: erreur de syntaxe avant un élément lexical « * »
/tmp/p.c: In function `main':
/tmp/p.c:10: erreur: erreur de syntaxe avant « s »
/tmp/p.c:11: erreur: « s » non déclaré (première utilisation dans cette fonction)
/tmp/p.c:11: erreur: (Chaque identificateur non déclaré est rapporté une seule fois
/tmp/p.c:11: erreur: pour chaque fonction dans laquelle il apparaît.)
/tmp/p.c: At top level:
/usr/include/gconv.h:176: attention : on assume que le tableau « __data » n'a qu'un seul élément |
Est-ce que vous savez pourquoi?
Merci
PS:
Code:
uname -r => 2.6.9-103.EL