Error : Exec format error
Bonjour à tous,
Je suis actuellement sur une plateforme restreinte XUbuntu (Carte Beaglle Board ) avec un Ubuntu de 4Go. Pour mon stage, j'ai besoin de faire fonctionner un programme de traitement d'image : FabMap.
Comme le readme le mentionne, je me rends dans le dossier /bin du répertoire FAbMap et lorsque j'exécute la commande demandée : ./WordMaker WordMaker_BatchConfig.moos un message d'erreur apparaît :
./WordMaker : Exec format error. Binary file not executable.
J'ai regardé sur internet et essayé plusieurs choses :
- changé les permissions avec chmod u+x
- essayé de mettre "un petit peu" à jour le Xubuntu embarqué mais cela m'est interdit.
Avez-vous d'autres idées ?
Merci d'avance
<Xubuntu : Xfce 4>, internet disponible.
Je suis actuellement sur une plateforme restreinte XUbuntu (Carte Beaglle Board ) avec un Ubuntu de 4Go. Pour mon stage, j'ai besoin de faire fonctionner un programme de traitement d'image : FabMap.
Comme le readme le mentionne, je me rends dans le dossier /bin du répertoire FAbMap et lorsque j'exécute la commande demandée : ./WordMaker WordMaker_BatchConfig.moos un message d'erreur apparaît :
./WordMaker : Exec format error. Binary file not executable.
J'ai regardé sur internet et essayé plusieurs choses :
- changé les permissions avec chmod u+x
- essayé de mettre "un petit peu" à jour le Xubuntu embarqué mais cela m'est interdit.
Avez-vous d'autres idées ?
Merci d'avance
<Xubuntu : Xfce 4>, internet disponible.
14 réponses
-
Contributeurvoir chez FabMap ce qu'ils proposent comme exécutables.
que répond la commande file <exécutable> d'un programme compilé pour ARM ? -
Contributeurhello
que répond
file WordMaker -
Résultat de ' file WordMaker':
WordMaker: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically (uses shared libs), for GNU/Linux 2.6.9, not stripped. -
Contributeurque répond
echo $LD_LIBRARY_PATH
ldd WordMaker -
Résultat de 'echo $LD_LIBRARY_PATH' :
/usr/local/lib:/usr/lib
Résultat de 'ldd WordMaker' :
not a dynamic executable -
Contributeurnot a dynamic executable
bizarre, ça contredit la réponse de file
est-ce que le fichier serait corrompu ? -
Dois-je le retransférer ? Rebooter ?
-
Contributeurpeut-être un problème de librairies
que répond
set|grep LIBRARY
essayer
unset LD_LIBRARY_PATH ; ldd WordMaker -
set|grep LIBRARY : (ne réponds rien)
unset LD_LIBRARY_PATH ; ldd WordMaker : not a dynamic executable -
Contributeuressaye de compiler un petit code en static et dynamic
$ echo -e '#include <stdio.h>\nmain(){printf("hello world\\\\n");}' > x.c $ gcc -o x x.c $ gcc -o xs -static x.c
que répondent les commandes
file x xs ; ldd x xs -
Je pense que c'est tout simplement parce que le programme a été prés compilé sous une architecture autre que celle de la Beagle board. Pour pouvoir le faire fonctionner il faudrait le recompiler sur la BB. Je viens de tester avec un autre programme qui me disais la même erreur. Je l'ai recompilé, il fonctionne maintenant. Or, je n'ai pas les sources de FabMap... Seulement les fichiers exe, donc je suis cuit . Non ?
-
Contributeurqu'affiche cat /proc/cpuinfo
-
cat /proc/cpuinfo:
Processor : ARMv7 Processor rev 3 (v71)
BogoMIPS : 484.21
Features : swp half thumb fastmult vfp edsp thumbee neon
CPU implementer : 0x41
CPU architecture : 7
CPU variant : 0x1
CPU part : 0xc08
CPU revision : 3
Hardware : OMAP3 Beagle Board
Revision : 0020
Serial : 0000000000000 -
file surf :
surf: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped.
Merci beaucoup en tout cas, cela est donc dû à une version de l'exécutable pas adpaté à mon système.