Bjr à tous,
Aujourd'hui un problème auquel je n'arrive pas à bout:
La compilation de alsa-lib sur un système dont les en-têtes sont basés sur celle d'un noyau 2.6.9, mais j'ai droit à une belle erreur d'include sur little_endian.h
pour faire simple:
In file included from /usr/include/asm/byteorder.h:57,
from fm.c:33:
/usr/include/linux/byteorder/little_endian.h:43: error: parse error before "__cpu_to_le64p"
/usr/include/linux/byteorder/little_endian.h: In function `__cpu_to_le64p':
/usr/include/linux/byteorder/little_endian.h:45: error: `__le64' undeclared (first use in this function)
/usr/include/linux/byteorder/little_endian.h:45: error: (Each undeclared identifier is reported only once
/usr/include/linux/byteorder/little_endian.h:45: error: for each function it appears in.)
/usr/include/linux/byteorder/little_endian.h: At top level:
/usr/include/linux/byteorder/little_endian.h:47: error: parse error before '*' token
/usr/include/linux/byteorder/little_endian.h: In function `__le64_to_cpup':
/usr/include/linux/byteorder/little_endian.h:49: error: `p' undeclared (first use in this function)
/usr/include/linux/byteorder/little_endian.h: At top level:
/usr/include/linux/byteorder/little_endian.h:51: error: parse error before "__cpu_to_le32p"
/usr/include/linux/byteorder/little_endian.h: In function `__cpu_to_le32p':
/usr/include/linux/byteorder/little_endian.h:53: error: `__le32' undeclared (first use in this function)
/usr/include/linux/byteorder/little_endian.h: At top level:
/usr/include/linux/byteorder/little_endian.h:55: error: parse error before '*' token
/usr/include/linux/byteorder/little_endian.h: In function `__le32_to_cpup':
/usr/include/linux/byteorder/little_endian.h:57: error: `p' undeclared (first use in this function)
/usr/include/linux/byteorder/little_endian.h: At top level:
/usr/include/linux/byteorder/little_endian.h:59: error: parse error before "__cpu_to_le16p"
/usr/include/linux/byteorder/little_endian.h: In function `__cpu_to_le16p':
/usr/include/linux/byteorder/little_endian.h:61: error: `__le16' undeclared (first use in this function)
/usr/include/linux/byteorder/little_endian.h: At top level:
/usr/include/linux/byteorder/little_endian.h:63: error: parse error before '*' token
/usr/include/linux/byteorder/little_endian.h: In function `__le16_to_cpup':
/usr/include/linux/byteorder/little_endian.h:65: error: `p' undeclared (first use in this function)
/usr/include/linux/byteorder/little_endian.h: At top level:
/usr/include/linux/byteorder/little_endian.h:67: error: parse error before "__cpu_to_be64p"
/usr/include/linux/byteorder/little_endian.h: In function `__cpu_to_be64p':
/usr/include/linux/byteorder/little_endian.h:69: error: `__be64' undeclared (first use in this function)
/usr/include/linux/byteorder/little_endian.h:69: error: parse error before "__swab64p"
/usr/include/linux/byteorder/little_endian.h: At top level:
/usr/include/linux/byteorder/little_endian.h:71: error: parse error before '*' token
/usr/include/linux/byteorder/little_endian.h: In function `__be64_to_cpup':
/usr/include/linux/byteorder/little_endian.h:73: error: `p' undeclared (first use in this function)
/usr/include/linux/byteorder/little_endian.h: At top level:
/usr/include/linux/byteorder/little_endian.h:75: error: parse error before "__cpu_to_be32p"
/usr/include/linux/byteorder/little_endian.h: In function `__cpu_to_be32p':
/usr/include/linux/byteorder/little_endian.h:77: error: `__be32' undeclared (first use in this function)
/usr/include/linux/byteorder/little_endian.h:77: error: parse error before "__swab32p"
/usr/include/linux/byteorder/little_endian.h: At top level:
/usr/include/linux/byteorder/little_endian.h:79: error: parse error before '*' token
/usr/include/linux/byteorder/little_endian.h: In function `__be32_to_cpup':
/usr/include/linux/byteorder/little_endian.h:81: error: `p' undeclared (first use in this function)
/usr/include/linux/byteorder/little_endian.h: At top level:
/usr/include/linux/byteorder/little_endian.h:83: error: parse error before "__cpu_to_be16p"
/usr/include/linux/byteorder/little_endian.h: In function `__cpu_to_be16p':
/usr/include/linux/byteorder/little_endian.h:85: error: `__be16' undeclared (first use in this function)
/usr/include/linux/byteorder/little_endian.h:85: error: parse error before "__swab16p"
/usr/include/linux/byteorder/little_endian.h: At top level:
/usr/include/linux/byteorder/little_endian.h:87: error: parse error before '*' token
/usr/include/linux/byteorder/little_endian.h: In function `__be16_to_cpup':
/usr/include/linux/byteorder/little_endian.h:89: error: `p' undeclared (first use in this function)
Evidement suite à ca y a le fichier source d'origine qui est engueuler:
fm.c: In function `snd_instr_fm_convert_to_stream':
fm.c:81: error: `__be32' undeclared (first use in this function)
fm.c:81: error: parse error before '{' token
fm.c:81: error: parse error before ')' token
fm.c:81: error: `__x' undeclared (first use in this function)
fm.c: At top level:
fm.c:81: error: parse error before ')' token
fm.c:106: error: `put' undeclared here (not in a function)
fm.c:106: warning: data definition has no type or storage class
fm.c:107: warning: initialization makes pointer from integer without a cast
fm.c:107: warning: data definition has no type or storage class
fm.c:108: error: parse error before "return"
J'ai essayé des magouilles dans tout les sens sans résultat
alors dans les magouilles testées:
Supprimer l'include <asm/byteorder.h>
Il compil mais a la fin j'ai droit à certaines fonctions manquantes (fonctions qui sont definies en dur dans l'include...... c'est du propre)
Copie collage de ce dont le fichier a besoin toujours sans succes
Alors de ce que j'ai lu ca venait du fait que j'utilise les entetes d'un 2.6 au lieu de celles d'un 2.4, mais j'aimerais tant que possible rester en 2.6
Et de preference (un peu moins forte la preference la) ne pas avoir à modifier l'en tete incriminée.
Merci d'avance :)
PS:Y a pas de section LFS? rolala
# 2.6.10-rc3
Posté par Ph Husson (site web personnel) . Évalué à 2.
Ca me laisse un peu sur ma faim quand meme....
Enfin bref ca marche
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.