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.

14 réponses

  1. 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.
    1. Résultat de 'echo $LD_LIBRARY_PATH' :

      /usr/local/lib:/usr/lib

      Résultat de 'ldd WordMaker' :

      not a dynamic executable
      1. Contributeur
        not a dynamic executable
        bizarre, ça contredit la réponse de file
        est-ce que le fichier serait corrompu ?
        1. Contributeur
          peut-être un problème de librairies
          que répond
          set|grep LIBRARY

          essayer
          unset LD_LIBRARY_PATH ; ldd WordMaker
          1. set|grep LIBRARY : (ne réponds rien)

            unset LD_LIBRARY_PATH ; ldd WordMaker : not a dynamic executable
            1. Contributeur
              essaye 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
              1. 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 ?
                1. 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
                  1. Contributeur
                    voir chez FabMap ce qu'ils proposent comme exécutables.
                    que répond la commande file <exécutable> d'un programme compilé pour ARM ?
                    1. 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.