141 votes

bash : ./programme : impossible d'exécuter le fichier binaire : Erreur de format d'exécution

J'essaie d'exécuter un programme, mais il donne une erreur :

bash: ./program: cannot execute binary file: Exec format error

Le résultat de file program était :

program: ELF-32-bit LSB executable, ARM, EABI4 version 1 (SYSV), dynamically linked (uses share libs), for GNU/LINUX 2.6.16, not stripped

Comment puis-je réparer cela ?

J'utilise Ubuntu 14.04.2 (amd64) avec VMware. J'ai également essayé d'utiliser Ubuntu i386, mais le résultat est le même.

2voto

user3578181 Points 121

Vous devez compiler votre fichier en utilisant une architecture CPU appropriée (x86 par exemple) et copier le fichier .exe sur votre machine linux. Ensuite, vous pouvez installer mono sur votre machine linux et lancer la commande suivante :

mono myprogram.exe

0voto

Zyl Points 101

Cela peut également se produire si le binaire utilise une implémentation de libc qui n'est pas libc, comme musl. De nos jours, ce problème spécifique est le plus souvent rencontré en essayant d'exécuter un binaire avec libc dans un conteneur Docker avec une image basée sur alpine. Il n'y a rien qui puisse être fait au binaire lui-même pour supporter les deux environnements, car l'implémentation de libc doit toujours être liée statiquement, c'est-à-dire construite directement dans le binaire, pour des raisons.

0voto

Jacob Jennings Points 23

J'ai eu cette erreur en essayant d'exécuter un fichier zip contenant un exécutable plutôt que de l'extraire et d'exécuter l'exécutable lui-même xD

En plus des autres réponses proposées ici, je suppose qu'il y a beaucoup de types de fichiers qui ne sont pas destinés à être exécutables qui pourraient causer cette erreur.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X