Probleme de compilation

paul40 -  
mamiemando Messages postés 34242 Date d'inscription   Statut Modérateur Dernière intervention   -
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 8228 Statut Membre 473
 
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 34242 Date d'inscription   Statut Modérateur Dernière intervention   7 898
 
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