188 votes

"Aucun fichier ou répertoire" mais il existe

Je veux simplement exécuter un exécutable à partir de la ligne de commande, ./arm-mingw32ce-g++ , mais ensuite je reçois le message d'erreur,

 bash: ./arm-mingw32ce-g++: No such file or directory 

J'utilise Ubuntu Linux 10.10. ls -l listes

 -rwxr-xr-x 1 root root  433308 2010-10-16 21:32 arm-mingw32ce-g++ 

L'utilisation de sudo ( sudo ./arm-mingw32ce-g++ ) donne

 sudo: unable to execute ./arm-mingw32ce-g++: No such file or directory 

Je n'ai aucune idée pourquoi le système d'exploitation ne peut même pas voir le fichier lorsqu'il est là. Des pensées?

127voto

Gilles Points 37537

Cette erreur peut signifier que l' ./arm-mingw32ce-g++ n'existe pas (mais il le fait), ou qu'il existe et est exécutable dynamiquement lié reconnu par le noyau, mais dont le chargeur dynamique n'est pas disponible. Vous pouvez voir ce chargeur dynamique est nécessaire en cours d'exécution ldd /arm-mingw32ce-g++; rien marqués not found est le chargeur dynamique ou une bibliothèque, vous devez installer.

Si vous essayez d'exécuter un binaire 32 bits sur un amd64 installation:

  • Jusqu'à Ubuntu 11.04, installer le paquet ia32-libs.
  • Sur Ubuntu 11.10, installez ia32-libs-multiarch.
  • En commençant avec la 12.04, installez ia32-libs-multiarch, ou de sélectionner un ensemble raisonnable d' :i386 forfaits en plus de l' :amd64 des paquets.

37voto

Zoltán Points 2915

Cette erreur peut également se produire si vous essayez d'exécuter un script et que le shebang est mal orthographié. Assurez-vous qu'il indique #!/bin/sh , #!/bin/bash ou quel que soit l'interpréteur que vous utilisez.

5voto

icc97 Points 1602

J'ai eu la même erreur pour un simple script bash qui n'auraient pas 32/64-bit questions. C'est peut-être parce que le script que vous essayez d'exécuter a une erreur. Ce forum ubuntu post indique que la normale avec des fichiers de script, vous pouvez ajouter un 'sh' en face et vous pourriez obtenir une sortie de débogage à partir d'elle. par exemple

$ sudo sh arm-mingw32ce-g++

et voir si vous obtenez une sortie.

Dans mon cas, le problème est que le fichier que j'ai essayé d'exécuter a été dans le format Windows plutôt que linux.

2voto

space Points 1

J'ai eu le même problème avec un fichier que j'ai créé sur mon mac. Si j'essaie de le lancer dans un shell avec ./nom de fichier j'ai obtenu le fichier n'est pas trouvé de message d'erreur. Je crois que quelque chose n'allait pas avec le fichier.

ce que j'ai fait:

ouvrir une session ssh sur le serveur
cat nom de fichier
copier la sortie vers le presse-papiers
rm fichier
touchez le nom de fichier
vi nom de fichier
j'ai pour le mode insertion
collez le contenu du presse-papiers
ESC de fin du mode insertion
:wq!

Cela a fonctionné pour moi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X