Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/06/2008, 20h39   #1
Membre du Club
 
Inscription : juin 2008
Messages : 43
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 43
Points : 46
Points : 46
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
dillinger91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 13h33   #2
Membre chevronné
 
Avatar de mamelouk
 
Inscription : mai 2005
Messages : 863
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2005
Messages : 863
Points : 716
Points : 716
vu le "Permission non accordée" moi je dirais que le chmod n'a pas fonctionné.

ls -l a.out donne quoi ?
__________________

Débugger du code est deux fois plus dur que d'en écrire.
Donc, si vous écrivez votre code aussi intelligemment que vous le pouvez, vous n'etes, par définition, pas assez intelligent pour le débugger.
mamelouk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 14h47   #3
Membre du Club
 
Inscription : juin 2008
Messages : 43
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 43
Points : 46
Points : 46
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?
dillinger91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 14h53   #4
Membre chevronné
 
Avatar de mamelouk
 
Inscription : mai 2005
Messages : 863
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2005
Messages : 863
Points : 716
Points : 716
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)
__________________

Débugger du code est deux fois plus dur que d'en écrire.
Donc, si vous écrivez votre code aussi intelligemment que vous le pouvez, vous n'etes, par définition, pas assez intelligent pour le débugger.
mamelouk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 14h58   #5
Membre du Club
 
Inscription : juin 2008
Messages : 43
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 43
Points : 46
Points : 46
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.
dillinger91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 15h03   #6
Membre chevronné
 
Avatar de mamelouk
 
Inscription : mai 2005
Messages : 863
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2005
Messages : 863
Points : 716
Points : 716
essaie -lboost_thread -lboost_system
__________________

Débugger du code est deux fois plus dur que d'en écrire.
Donc, si vous écrivez votre code aussi intelligemment que vous le pouvez, vous n'etes, par définition, pas assez intelligent pour le débugger.
mamelouk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 15h11   #7
Membre du Club
 
Inscription : juin 2008
Messages : 43
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 43
Points : 46
Points : 46
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.
dillinger91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 15h16   #8
Membre chevronné
 
Avatar de mamelouk
 
Inscription : mai 2005
Messages : 863
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2005
Messages : 863
Points : 716
Points : 716
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 :
1
2
3
4
5
6
7
 
#include <iostream>
 
int main(){
std::cout << "hello world" << std::endl;
return 0;
}
__________________

Débugger du code est deux fois plus dur que d'en écrire.
Donc, si vous écrivez votre code aussi intelligemment que vous le pouvez, vous n'etes, par définition, pas assez intelligent pour le débugger.
mamelouk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 15h31   #9
Membre du Club
 
Inscription : juin 2008
Messages : 43
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 43
Points : 46
Points : 46
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.
dillinger91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 15h37   #10
Membre chevronné
 
Avatar de mamelouk
 
Inscription : mai 2005
Messages : 863
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2005
Messages : 863
Points : 716
Points : 716
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
__________________

Débugger du code est deux fois plus dur que d'en écrire.
Donc, si vous écrivez votre code aussi intelligemment que vous le pouvez, vous n'etes, par définition, pas assez intelligent pour le débugger.
mamelouk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 15h47   #11
Membre du Club
 
Inscription : juin 2008
Messages : 43
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 43
Points : 46
Points : 46
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
dillinger91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 15h55   #12
Membre chevronné
 
Avatar de mamelouk
 
Inscription : mai 2005
Messages : 863
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2005
Messages : 863
Points : 716
Points : 716
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"
__________________

Débugger du code est deux fois plus dur que d'en écrire.
Donc, si vous écrivez votre code aussi intelligemment que vous le pouvez, vous n'etes, par définition, pas assez intelligent pour le débugger.
mamelouk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 16h02   #13
Membre du Club
 
Inscription : juin 2008
Messages : 43
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 43
Points : 46
Points : 46
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.
dillinger91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 16h09   #14
Membre chevronné
 
Avatar de mamelouk
 
Inscription : mai 2005
Messages : 863
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2005
Messages : 863
Points : 716
Points : 716
ou mieux, installer les paquets
__________________

Débugger du code est deux fois plus dur que d'en écrire.
Donc, si vous écrivez votre code aussi intelligemment que vous le pouvez, vous n'etes, par définition, pas assez intelligent pour le débugger.
mamelouk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 16h14   #15
Membre du Club
 
Inscription : juin 2008
Messages : 43
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 43
Points : 46
Points : 46
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.
dillinger91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h05.


 
 
 
 
Partenaires

Hébergement Web