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. 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
    1. Contributeur
      hello
      que répond
      file WordMaker
      0
      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.
        0
        1. Contributeur
          que répond
          echo $LD_LIBRARY_PATH
          ldd WordMaker
          0
          1. Résultat de 'echo $LD_LIBRARY_PATH' :

            /usr/local/lib:/usr/lib

            Résultat de 'ldd WordMaker' :

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

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

                    unset LD_LIBRARY_PATH ; ldd WordMaker : not a dynamic executable
                    0
                    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
                      0
                      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 ?
                        0
                        1. Contributeur
                          qu'affiche cat /proc/cpuinfo
                          0
                          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
                            0
                            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.
                              0