IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

./a.out: Permission non accordée


Sujet :

Shell et commandes GNU

  1. #1
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 43
    Par défaut ./a.out: Permission non accordée
    donc voila je me lance dans l'aprentissage de la lib boost que j'ai compilé (version 1.35).et puis j'éssaye de compiler le premier example de boost.asio avec cette commande :
    g++ -I /usr/local/include/boost-1_35/ -I /usr/local/lib/ -lboost_thread-gcc42-mt-1_35 -lboost_system-gcc42-mt-1_35 test.c (la compilation se passe bien)
    mais le problemme c'est que apres avoir donné les droit d'execution au fichier a.out
    j'ai cette erreur quand je le lance :
    bash: ./a.out: Permission non accordée
    merci d'avance pour votre aide

  2. #2
    Membre émérite
    Avatar de mamelouk
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    867
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 867
    Par défaut
    vu le "Permission non accordée" moi je dirais que le chmod n'a pas fonctionné.

    ls -l a.out donne quoi ?

  3. #3
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 43
    Par défaut
    désolé de m'etre trompé de section.
    mais voila ce que donne la commande que tu m'a demandé.
    -rwxr-xr-x 1 paco91 paco91 142246 2008-06-24 19:37 a.out
    quesque sa veut dire?

  4. #4
    Membre émérite
    Avatar de mamelouk
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    867
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 867
    Par défaut
    r pour read, w pour write, x pour execute

    le premier rwx c'est pour le propriétaire du fichier
    le second pour le groupe auquel appartient le propriétaire
    le troisième pour tout les autre

    c'est bizarre que tu ne puisse pas l'executer. meme en root tu ne peut pas ?

    tu compile pas sur un dossier monté sur le réseau? (ce qui mènerai à un problème du genre l'utilisateur local et réseau ne sont pas les meme)

  5. #5
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 43
    Par défaut
    mème en root je ne réussi pas a éxécuter le a.out et je suis sur mon disque dur normal pas en réseaux j'ai mème essayer dans le répertoire home mais rien a faire.

  6. #6
    Membre émérite
    Avatar de mamelouk
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    867
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 867
    Par défaut
    essaie -lboost_thread -lboost_system

  7. #7
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 43
    Par défaut
    avec les optionsque tu m'a passer voila l'erreur que j'ai:
    /usr/bin/ld: cannot find -lboost_thread
    collect2: ld a retourné 1 code d'état d'exécution
    mais c'est normal je n'ai pas ces fichiers chez moi.ils n'existent pas par contre chez moi ils s'appellent:
    libboost_thread-gcc42-mt
    libboost_system-gcc42-mt
    donc j'ai essayé avec les option suivent : -lboost_thread-gcc42-mt -lboost_system-gcc42-mt.
    l'a compilation se passe bien mème le chmod marche mais j'ai toujour la meme erreur donc : bash: ./a.out: Permission non accordée
    voila aussi la sortie de la commande ls -l:qui confirme que le chmod a marché
    -rwxr-xr-x 1 root root 142246 2008-06-25 14:05 a.out.

  8. #8
    Membre émérite
    Avatar de mamelouk
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    867
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 867
    Par défaut
    ok quand tu installe à l'aide d'un paquet il crée des liens qui abstrait de la version et du compilateur et du type de la lib (mt ou pas). d'où le -lboost_thread

    par contre le ls -l dis maintenant que tu as compilé en root, fait attention de bien executer en root aussi

    essaie de compiler un programme hello world pour voir si le problème est lié à la boost ou non
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    #include <iostream>
     
    int main(){
    std::cout << "hello world" << std::endl;
    return 0;
    }

  9. #9
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 43
    Par défaut
    ben le hello world s'execute normalement c pour sa que j'avais deja essayé et c'est pour celle au fait que j'avais pensé que sa avait un rapport avec la lib boost.sinon je comfirme quand j'ai compilé en root j'ai aussi executer en root et c tjrs parreil.

  10. #10
    Membre émérite
    Avatar de mamelouk
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    867
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 867
    Par défaut
    ouai c'est étrange... essaie alors d'enlever de diminuer le programme exemple.. vire la variable timer par exemple.. si ca marche toujours pas vire tout jusqu'a avoir que le "hello world".. ca voudra dire que ca vient de la boost

  11. #11
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 43
    Par défaut
    ben voila je vien d'essayer j'ai virer du code petit a petit j'usqua laisser juste le hello world mais tout en gardent les links et j'ai tjrs la meme erreur.et puis l'a j'avoue que j'y comprend plus rien .hier j'ai compilé un hello world normalement et puis la je réessaye et ya rien. en plus j'ai meme essayé sous code blocks l'exemple de boost et un simple hello world et j'ai la meme erreur.je sais pas c'est ptet du a gcc je vais installer le compilo d'intel avec code::blocks pour voir ce que sa donne.
    voila que je n'arrive méme plus a executer le script pour install "intel compiler 10" j'ai cette erreur:bash: ./install.sh : /bin/sh : mauvais interpréteur: Permission non accordée.
    j'ai méme verifié dans mon fstab qu'il n'y avait pas l'option noexec j'ai essayé en metant l'option exec mais rien a faire c'est parreil

  12. #12
    Membre émérite
    Avatar de mamelouk
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    867
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 867
    Par défaut
    Citation Envoyé par dillinger91 Voir le message
    ben voila je vien d'essayer j'ai virer du code petit a petit j'usqua laisser juste le hello world mais tout en gardent les links et j'ai tjrs la meme erreur.et puis l'a j'avoue que j'y comprend plus rien .hier j'ai compilé un hello world normalement et puis la je réessaye et ya rien. en plus j'ai meme essayé sous code blocks l'exemple de boost et un simple hello world et j'ai la meme erreur.je sais pas c'est ptet du a gcc je vais installer le compilo d'intel avec code::blocks pour voir ce que sa donne.
    wow changer de compilo direct, t'y va un peu fort

    si c'est du aux lib boost (je parle bien des .so, pas du code que tu as inclus), tu as peut etre trouvé ton erreur: tu as du installer en root ("sudo make install" ou un truc comme ca), et du coup ton utilisateur n'as pas le droit d'accéder à ces libs ?

    essaie : "ls -l /usr/local/lib/libboost_thread-gcc42-mt.so"

  13. #13
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 43
    Par défaut
    ben oui c vrai que j'ai installé en root sa je m'en souvient bien.
    et je ne parlai pas de changer le compilo definitivement mais juste pour essayer de voir eske c vraiment du a boost.donc je vais chager les droits sur les .so en esperant que sa marche.

  14. #14
    Membre émérite
    Avatar de mamelouk
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    867
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 867
    Par défaut
    ou mieux, installer les paquets

  15. #15
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 43
    Par défaut
    dans les paquet c une ancienne version(1.34.1) ou il n'y a pas asio alors que la partie de la lib dont j'ai le plus besoin.en plus c pour l'utiliser sur un systeme embarqué a l'avenir.donc je dois imperativement réussir a compiler la lib correctement (question d'optimisation) et me passer des paquets.

Discussions similaires

  1. Bash : ./testC.o: Permission non accordée
    Par nanath02 dans le forum Débuter
    Réponses: 8
    Dernier message: 19/11/2008, 18h47
  2. Permission non accordée au root pour lancer /init.d
    Par whitespirit dans le forum Administration système
    Réponses: 2
    Dernier message: 03/10/2008, 08h15
  3. /bin/mount : permission non accordée au démarrage
    Par gifffftane dans le forum Administration système
    Réponses: 3
    Dernier message: 24/06/2007, 21h32
  4. [Bacula] Permission non accordée
    Par nefast dans le forum Administration système
    Réponses: 4
    Dernier message: 18/04/2007, 13h06
  5. create tablespace: permission non-accordée
    Par ctobini dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 04/11/2006, 15h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo