Rechercher : dans
Par :

Probleme de compilation

Dernière réponse le 13 mar 2009 à 00:48:13 paul40, le 12 mar 2009 à 10:15:56 
 Signaler ce message aux modérateurs

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

Configuration: Linux Debian  Lenny
Asterisk 1.4.15

Meilleures réponses pour « Probleme de compilation » dans :
Linux - Compilation du noyau (Kernel) Voir Compilation du Kernel Cet article a pour but de présenter la compilation du noyau (ou kernel) sous Linux. Les explications suivantes sont basées sur la version 2.4.20 du kernel, la dernière en date au moment de l'écriture de l'article (mars...
La compilation et les modules en C et en C++ Voir Cet article a pour vocation d'introduire les notions de bases de la compilation en C et en C++ et de la programmation modulaire. Il permet de mieux comprendre les messages d'erreur du compilateur. Les notions abordées ici sont indépendantes du...
Compiler du C sous Linux/UNIX VoirSous Linux, le compilateur de C est gcc. Il est installé de base sur plusieurs distributions, mais sur Debian (et celles qui en découlent) il faudra l'installer (aptitude install gcc). gcc Syntaxe de GCC gcc Tout d'abord, il faut savoir...
[Pascal] Liens Compilateurs et Ressources VoirQuelques liens pour des compilateurs et ressources Pascal gratuits: FreePascal GNU-Pascal Dev-Pascal Autres compilateurs Bon développement.
Télécharger Code::Blocks Studio VoirCode::Blocks est un IDE multi-plateforme (Linux, Mac et Windows) entièrement codé en C++. Code::Blocks est basé sur un système de plugins, ce qui permet de le faire évoluer très facilement sans devoir le recompiler. La compilation, qui peut se...
Ecrire un programme en assembleur VoirLa compilation du programme Le programme doit être saisi dans un fichier texte non formaté (c'est-à-dire sans caractères en gras, souligné, avec des polices de caractères de différentes tailles, ...) appelé fichier source. En effet,...

1

bob031, le 12 mar 2009 à 22:15:10

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 :
http://www.asteriskguru.com/... un pinguin sur la banquise !

Répondre à bob031

2

 mamiemando, le 13 mar 2009 à 00:48:13

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

Répondre à mamiemando
Collection CommentÇaMarche.net