Probleme de compilation

Fermé
paul40 - 12 mars 2009 à 10:15
mamiemando Messages postés 33357 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 13 novembre 2024 - 13 mars 2009 à 00:48
Bonjour,

je suis actuellement en train d'essayer d'installer le support de la 3G à mon Asterisk. Mais au moment de recompiler asterisk, après lui avoir ajouté l'application "app_transcoder" (application utilisant entre autre des codecs ffmpeg), le make me retourne ces erreurs :

[code]
[CC] app_transcoder.c -> app_transcoder.o
In file included from app_transcoder.c:39:
/usr/include/ffmpeg/libavcodec/avcodec.h:259:5: error: missing binary operator before token "("
/usr/include/ffmpeg/libavcodec/avcodec.h:318:5: error: missing binary operator before token "("
/usr/include/ffmpeg/libavcodec/avcodec.h:430:5: error: missing binary operator before token "("
/usr/include/ffmpeg/libavcodec/avcodec.h:436:5: error: missing binary operator before token "("
In file included from app_transcoder.c:39:
/usr/include/ffmpeg/libavcodec/avcodec.h:811: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘*’ token
/usr/include/ffmpeg/libavcodec/avcodec.h:1012:5: error: missing binary operator before token "("
/usr/include/ffmpeg/libavcodec/avcodec.h:1325:5: error: missing binary operator before token "("
/usr/include/ffmpeg/libavcodec/avcodec.h:2246: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘*’ token
/usr/include/ffmpeg/libavcodec/avcodec.h:2287: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘attribute_deprecated’
/usr/include/ffmpeg/libavcodec/avcodec.h:2326:5: error: missing binary operator before token "("
/usr/include/ffmpeg/libavcodec/avcodec.h:2493:5: error: missing binary operator before token "("
/usr/include/ffmpeg/libavcodec/avcodec.h:2510:5: error: missing binary operator before token "("
/usr/include/ffmpeg/libavcodec/avcodec.h:2657: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘int’
/usr/include/ffmpeg/libavcodec/avcodec.h:2871:5: error: missing binary operator before token "("
/usr/include/ffmpeg/libavcodec/avcodec.h:2947:5: error: missing binary operator before token "("
/usr/include/ffmpeg/libavcodec/avcodec.h:2991: error: expected ‘)’ before ‘*’ token
In file included from app_transcoder.c:40:
/usr/include/ffmpeg/libswscale/swscale.h: In function ‘sws_scale_ordered’:
/usr/include/ffmpeg/libswscale/swscale.h:116: error: expected declaration specifiers before ‘attribute_deprecated’
app_transcoder.c:58: warning: empty declaration
app_transcoder.c:115: warning: empty declaration
app_transcoder.c:139: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
app_transcoder.c:204: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
app_transcoder.c:248: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
app_transcoder.c:369: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
app_transcoder.c:434: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
app_transcoder.c:626: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
app_transcoder.c:632: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
app_transcoder.c:682: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
app_transcoder.c:713: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
app_transcoder.c:763: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
app_transcoder.c:809: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
app_transcoder.c:817: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
app_transcoder.c:870: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
app_transcoder.c:1084: error: storage class specified for parameter ‘name_transcode’
app_transcoder.c:1084: error: parameter ‘name_transcode’ is initialized
app_transcoder.c:1085: error: storage class specified for parameter ‘syn_transcode’
app_transcoder.c:1085: error: parameter ‘syn_transcode’ is initialized
app_transcoder.c:1086: error: storage class specified for parameter ‘des_transcode’
app_transcoder.c:1086: error: parameter ‘des_transcode’ is initialized
app_transcoder.c:1089: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
app_transcoder.c:1098: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
app_transcoder.c:1111: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
app_transcoder.c:1124: error: storage class specified for parameter ‘__mod_info’
app_transcoder.c:1124: error: parameter ‘__mod_info’ is initialized
app_transcoder.c:1124: error: ‘load_module’ undeclared (first use in this function)
app_transcoder.c:1124: error: (Each undeclared identifier is reported only once
app_transcoder.c:1124: error: for each function it appears in.)
app_transcoder.c:1124: error: ‘unload_module’ undeclared (first use in this function)
app_transcoder.c:1124: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
app_transcoder.c:1124: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
app_transcoder.c:1124: error: storage class specified for parameter ‘ast_module_info’
app_transcoder.c:1124: error: parameter ‘ast_module_info’ is initialized
app_transcoder.c:1124: error: old-style parameter declarations in prototyped function definition
app_transcoder.c:1124: error: expected ‘{’ at end of input
app_transcoder.c:1124: warning: no return statement in function returning non-void
make[1]: *** [app_transcoder.o] Erreur 1
make: *** [apps] Erreur 2
/code

Je pense que le problème viendrait d'un outil de compilation...

J'espère que quelq'un est déjà tombé sur ce type de problème.

Merci d'avance

Paul

2 réponses

bob031 Messages postés 8158 Date d'inscription samedi 7 août 2004 Statut Membre Dernière intervention 1 septembre 2014 472
12 mars 2009 à 22:15
bonjour,

Je pense que le problème viendrait d'un outil de compilation...

pas forcément !

on dirait que cela plante, justement du côté de ffmpeg
est-ce ffmpeg a été compilé/installé avec l'option --enabled-shared

est-ce que la commande suivante indique des résultats
ldd /usr/lib/asterisk/modules/app_transcoder.so


source :
https://www.asteriskguru.com/archives/asterisk-video-apptranscoderso-undefined-symbol-avcode-vt110636.html
0
mamiemando Messages postés 33357 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 13 novembre 2024 7 805
13 mars 2009 à 00:48
Il faudrait voir le code source à cet endroit-là.
/usr/include/ffmpeg/libavcodec/avcodec.h:259:5: error: missing binary operator before token "(" 
Il faudrait aussi voir si tu as vraiment besoin de compiler asterisk. Je penche assez pour une erreur de préparation. Je ne sais pas comment est fait ton paquet, mais en général il faut faire ./configure avant de compiler, l'as-tu fait ? Il permet en outre de vérifier que toutes les librairies requises sont (correctement) installées.

Bonne chance
0