Page 1 sur 1

[gcc]impossible de compiler(résolu)

Publié : dim. 22 mai 2011, 11:53
par Scriptor
Bonjour,

Jusqu'a aujourd'hui je n'avais aucun problème de compilation, mais là c'est à ne rien comprendre, je vous explique.
Prenons un exemple de base:

Code : Tout sélectionner

#include <stdio.h>

int main(){
  printf("hello");
   return 0;
}
je fais donc un:

Code : Tout sélectionner

gcc hello.c -o hello
sans aucun problème, evidemment.

Mais lorsque je fais un:

Code : Tout sélectionner

./hello
il me retourne:

Code : Tout sélectionner

bash: ./hello: Permission non accordée
je décide donc de faire un:

Code : Tout sélectionner

chmod +x hello
mais il me retourne la même erreur, et un:

Code : Tout sélectionner

chmod 777 hello
me retourne aussi la même erreur,

Merci donc de toutes réponses, parce que la je commence vraiment à être désespéré :cry:

Re: [gcc]impossible de compiler

Publié : dim. 22 mai 2011, 12:38
par dna
Salut,

Tu peux montrer ton fstab stp et nous dire sur quelle partition tu travail?

Cheers

Re: [gcc]impossible de compiler

Publié : dim. 22 mai 2011, 12:40
par Scriptor
Bonjour,

Bon, j'ai compris d'où venait le problème, en fait je compilais sur mon DDE, et depuis que je compile sur mon disque dur interne, il y a plus de problème, alors comment faire pour remédier à ce problème ?

Merci de toutes réponses

Re: [gcc]impossible de compiler

Publié : dim. 22 mai 2011, 12:43
par dna
Ok tant mieux, Jette un oeil sur le wiki. Je suis quasiment sur que c'est un problème d'options dans ton fstab.

Re: [gcc]impossible de compiler

Publié : dim. 22 mai 2011, 12:50
par Rolinh
Au passage, juste comme ça parce que ça m'a fait mal aux yeux:
C n'est pas C++ !
Si t'as fonction ne prend pas de paramètres, il faut que tu précises void.

Re: [gcc]impossible de compiler

Publié : dim. 22 mai 2011, 13:07
par dna
C n'est pas C++ !
Si t'as fonction ne prend pas de paramètres, il faut que tu précises void.
ISO C, mais ce n'est en aucun cas une obligation :copain:
De plus, son fragment est correcte, c'est au niveau des prototype qu'il faut faire attention! non?

Re: [gcc]impossible de compiler

Publié : dim. 22 mai 2011, 14:41
par Scriptor
Bonjour,

merci de toutes réponses, je jette donc un oeil sur le wiki concernant fstab

Merci encore, je vous tiens au courant.

Re: [gcc]impossible de compiler

Publié : dim. 22 mai 2011, 17:49
par Rolinh
dna a écrit :ISO C, mais ce n'est en aucun cas une obligation :copain:
De plus, son fragment est correcte, c'est au niveau des prototype qu'il faut faire attention! non?
Bah non ce n'est pas correct. Cela veut dire que la fonction prend virtuellement autant d'arguments qu'elle veut alors que ce n'est pas le cas... Une ligne de compilation correcte ne laisse pas passer ça ;)

Re: [gcc]impossible de compiler

Publié : dim. 22 mai 2011, 18:20
par dna
Oui tu as raison.
Gasp, je dois revoir mon C!

Ca fait pas de mal de faire marcher les méninges de temps en temps :s

Re: [gcc]impossible de compiler

Publié : dim. 22 mai 2011, 18:30
par Rolinh
Quand on part dans le haut niveau, c'est dur de se remettre dans le C, je le concède ;)

Re: [gcc]impossible de compiler

Publié : dim. 22 mai 2011, 21:22
par Scriptor
Bonjour,

bon, j'ai essayé de monter mon disque dur externe en ajoutant:

Code : Tout sélectionner

/dev/sdb1 /mnt/fat32 vfat user,rw,umask=111,dmask=000 0 0
dans /etc/fstab

Mais la mon disque dur n'est pas monté du tout

Merci de toutes réponses

Re: [gcc]impossible de compiler

Publié : dim. 22 mai 2011, 21:49
par dna
Le device est correcte?

Code : Tout sélectionner

# fdisk -l
Change également :

Code : Tout sélectionner

/dev/sdb1 /mnt/fat32 vfat user,rw,umask=111,dmask=000 0 0
en

Code : Tout sélectionner

/dev/sdb1 /mnt/fat32 vfat user,rw,exec,noauto,umask=111,dmask=000 0 0
ou

Code : Tout sélectionner

/dev/sdb1 /mnt/fat32 vfat user,rw,exec,nofail,umask=111,dmask=000 0 0
exec: tu donne le droit d'éxécution (supprimé par user)
noauto: ne monte pas ton disque automatiquement lors du boot. Cela prévient les erreurs si ton hdd externe n'est pas pluger.
nofail: Tente de monter ton disque lors du boot mais est ignoré si il n'est pas connecté.

Puis tu monte ton disque avec (Si le device est juste)

Code : Tout sélectionner

# mount /dev/sdb1
Tu peux encore améliorer le truc en utilisant les labels ou uuid au lieu de /dev/xxxx . Comme ca si tu connecte un autre disque dur à la place du tient, bah il ne sera pas monté ;)

Re: [gcc]impossible de compiler

Publié : dim. 22 mai 2011, 22:04
par benjarobin
vfat ne gère pas les droits donc cela ne sert à rien de faire un chmod

Code : Tout sélectionner

/dev/sdb1 /mnt/fat32 vfat users,uid=1000,gid=100,fmask=0003,dmask=0002  0 0 
uid et gid permet de spécifier l'utilisateur et le groupe des fichiers.
Ce qui donne rwx rwx r-x pour les dossiers et rwx rwx r-- pour les fichiers.
Voir http://en.wikipedia.org/wiki/Fmask

Re: [gcc]impossible de compiler

Publié : lun. 23 mai 2011, 10:42
par Scriptor
Bonjour,

alors merci pour vos réponses.

J'ai donc ajouté la ligne

Code : Tout sélectionner

/dev/sdb1 /media/Transcend vfat users,uid=1000,gid=100,fmask=0003,dmask=0002  0 0
mais, ca n'a toujours rien changé, lorsque je compile, il me marque aussi.

J'ai pourtant crée un dossier Transcend dans media, avec chmod 777, mais toujours la même erreur.

Merci de toutes réponses

Re: [gcc]impossible de compiler

Publié : lun. 23 mai 2011, 11:06
par benjarobin
Quel est la sortie de ls -la sur le dossier que tu utilises.
Et je le répète, un chmod ne sert à rien avec une partition vfat !!!

Re: [gcc]impossible de compiler

Publié : lun. 23 mai 2011, 11:08
par tuxce
man mount a écrit :users Allow every user to mount and unmount the filesystem. This option implies the options noexec, nosuid, and nodev (unless overridden by subsequent options, as in the option line users,exec,dev,suid).

Re: [gcc]impossible de compiler

Publié : lun. 23 mai 2011, 12:08
par benjarobin
Ah :oops: :cry:
Donc cela donne

Code : Tout sélectionner

/dev/sdb1 /mnt/fat32 vfat users,exec,uid=1000,gid=100,fmask=0003,dmask=0002  0 0 

Re: [gcc]impossible de compiler

Publié : lun. 23 mai 2011, 13:21
par Scriptor
Bonjour,

alors je vous remercie, car grâce à vous mon problème est résolu

Je marque donc le sujet comme résolu