Bonjour,
Suite à une migration de linux sur un système embarqué, je suis obligé de reprendre mes sources et les recompilés.
J'ai l'un de mes exécutables ou il n'y a presque rien dedans, passerelle entre le serveur snmp et mon appli. Il est bien présent dans le repertir mais lorsque j'essaie de l’exécuter il me dit qu'il le trouve pas:
-sh: ./snmpstub: not found.
une idée ?
# Plusieurs pistes
Posté par Renault (site web personnel) . Évalué à 2.
Possibilités :
# exécutable non compatible
Posté par goeb . Évalué à 3.
Autre piste :
- l'exécutable est compilé en 64 bits alors que l'OS est en 32, ou inversement
- autres incompatibilités du même genre : exécutable compilé pour un ARM, alors que la machine est du x86, etc.
Les erreurs que j'ai indiquées donnent cette erreur :
- quand tu édites, le fichier est là, lisible, et tout.
- quand tu exécutes : not found.
[^] # Re: exécutable non compatible
Posté par goeb . Évalué à 2.
pour savoir, tu peux utiliser
file
.Exemple :
$ file /bin/ls
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=b07bbaf6c9e0a5a9f340aca801aa95bbfe0dbe7c, stripped
[^] # Re: exécutable non compatible
Posté par Zylabon . Évalué à 4. Dernière modification le 11 avril 2014 à 13:55.
+1
Le message d'erreur de bash est bien crade en cas de binaire incompatible.
la commande
file
donne des infos sur le binaire, notamment l'architecture pour laquelle il est compilé.edit : grillé :)
j'ai pas réussi à refaire le message d'erreur à la con en cas de binaire incompatible
Please do not feed the trolls
# Répertoire courant
Posté par Hodj . Évalué à 1.
Est-ce que le répertoire courant est bien celui qui contient snmpstub ? et que snmpstub a bien l'attribut exécutable ?
# Excuse
Posté par Megamario . Évalué à 1.
Bonjour,
Excusé moi j'ai été absent pendant un bon moment. Et comme j'ai pas eue de notification de nouveau message c'est passé à la trap.
Je vous remercie de vos réponses en tout cas.
J'ai réussi à le faire fonctionner mon exécutable. Mais sans rien faire de particulier. J'ai crée un nouveau projet dans Eclipse, crée un fichier c avec le même nom, puis copier coller mon code. J'ai compilé le tout et cela fonctionne !!!!
J'ai bien regardé si j'avais fait une erreur de déclaration du matériel mais non j'avais bien mis mon contrôleur. Je ne sais pas ce qu'il c'est passé mais maintenant cela fonctionne.
Merci bonne journée
[^] # Re: Excuse
Posté par Megamario . Évalué à 1.
Je viens de tester file mais cela ne fonctionne pas. La commande n'existe pas dans mon linux embarqué.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.