Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C - Linux] Compilation et exécution

Permission non accordée à l'execution (en root)

Sujet résolu
    12 décembre 2005 à 20:27:16

    Salut à tous et merci de regarder ce post !
    Alors j'ai essayé d'écrire le programme minimal que Mateo à donné avec Gedit (sous linux), je l'ai compilé avec le terminal (gcc -o projet1.c projet1). Mais à l'exécution de "projet1" dans le terminal, le message suivant s'affiche :
    bash: ./projet1: Permission non accordée.

    Merci de m'aider si vous avez une idée pour régler mon problème !
    • Partager sur Facebook
    • Partager sur Twitter
      12 décembre 2005 à 20:35:47

      tente un "# chmod +x projet1" déjà
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        12 décembre 2005 à 21:06:06

        Et puis ta commande pour compiler a l'air fausse: c'est gcc -o executable fichiers.c car en fait juste après le -o tu mets le nom du fichier de sortie (executable) et ensuite (ou avant) la liste des fichiers .c à compiler.

        ;)
        • Partager sur Facebook
        • Partager sur Twitter
          17 décembre 2005 à 10:03:51

          Mauvaise nouvelle pour moi. Je viens d'essayer le "# chmod +x projet1", le "#chmod +x projet1.c", le "gcc projet1.c -o projet1", le "gcc -o projet1 projet1.c", mais rien de tout ça ne change le message :
          "bash: ./projet1: Permission non accordée."
          J'ai aussi essayer le l'exécuter avec sudo, mais toujours rien.
          Enfin j'ai essayer "gcc -o projet1.c projet1" et là une 30aine de ligne c'est inscrite sur mon terminal :
          "projet1:(.rodata+0x0): définition multiples de " _fp_hw "
          /usr/lib/gcc/i486_linux-gnu/4.0.2/../../../../lib/crt1.o:../sysdeps/i386/elf/start.S:65 défini pour la première fois ici
          ........... en ainsi de suite .........."

          Mais en voulant le lancer avec "./projet1", j'ai eu encore le "bash: ..." :-(.
          Une solution?
          • Partager sur Facebook
          • Partager sur Twitter
            17 décembre 2005 à 10:34:38

            gcc -o projet1.c projet1

            ça c'est sur que ça ne marchera pas...

            essaye juste 'gcc projet1.c', puis fait './a.out'
            • Partager sur Facebook
            • Partager sur Twitter
              17 décembre 2005 à 12:11:23

              J'ai toujours le "bash: ./a.out: Permission non accordée" en ouvrant ./a.out avec le terminal. Le code qui est dans mon projet1.c est:
              #include <stdio.h>
              #include <stdlib.h>

              int main(int argc, char *argv[])
              {
              printf("Bonjour");
              system("PAUSE");
              return 0;
              }

              Le problème pourrais venir de là?
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                17 décembre 2005 à 12:43:49

                Au passage tu devrais virer le system("PAUSE") ça marche pas sous Linux. Ensuite tu tappes clairement
                gcc projet1.c -o projet1
                ./projet1
                Et tu nous dis toutes les erreurs, ensuite tu essaies de faire un cat projet1.c et un cat projet1 pour voir ce qu'il y dedans et tu nous fais un ls pour voir les fichiers créés, tout ça si ça marche pas, ok ?
                • Partager sur Facebook
                • Partager sur Twitter
                  17 décembre 2005 à 14:29:11

                  Alors, j'ai bien suivi tes instructions, et j'ai toujours comme seule erreur au lancement : "bash: ./projet1: Permission non accordée"
                  Ensuite j'ai suivi les autres instructions, et en tapant "cat projet1.c j'ai eu mon code, mais en tapant "cat projet1" j'ai eu une tonne de caractères incompréhensible dont :
                  GCC: (GNU) 3.4.5 20050809 (prerelease) (Ubuntu 3.4.4-6ubuntu8)GCC: (GNU) ...

                  et
                  ../sysdeps/i386/elf/start.S/build/buildd/glibc-2.3.5/build-tree/glibc-2.3.5/csuGNU AS 2.16.1...

                  Après ... mes caratcères sur le terminal était tout codé et j'ai du relancer le terminal pour retrouver les caractères iso-8859-1.
                  Après j'ai tapé la dernière commande et j'ai eu :
                  projet1 projet1.c projet1.c~ projet.c~

                  (le projet.c~ est comme tu le voit supprimé, j'avais oublié d'écrire le 1).
                  Merci de te pencher sur mon problème. J'espère que tu va trouver la solution ! :-)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    17 décembre 2005 à 14:35:11

                    fait :
                    chmod 775 *
                    pense aussi a faire un chmod 775 a ton dossier qui contient ton fichier .c
                    ensuite

                    cc -c projet1.c
                    puis
                    ./a.out


                    ca fait quoi quand tu fait ca ?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      17 décembre 2005 à 14:49:49

                      "cc -c projet1.c" a créé un fichier projet1.o mais pas de a.out donc il ne s'est rien passé quand j'ai quand même tapé "./a.out". Pour le chmod, c'est bon.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        17 décembre 2005 à 15:04:48

                        ok donc maintenant fait cc projet1.c
                        • Partager sur Facebook
                        • Partager sur Twitter
                          17 décembre 2005 à 16:09:40

                          J'ai fait "cc projet1.c" mais aucun des fichier projet1 ou a.out ne me donne pas l'erreur "permission non accordée" même en essayant avec sudo. J'ai aussi vérifié le chmod de tout les dossier parents, rien n'y fait. Je peux signaler que ces fichiers se trouve sur une partition FAT32 amorcer dans /media, et donc le chemin de "projet1" est /media/documents/Developpement/C++/Apprentissage/projet1, mais je pense pas que tout ça puisse résoudre mon problème.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            20 décembre 2005 à 11:44:21

                            Le problème est résolu grâce à Bluestrom !
                            Il fallait que je travail dans /home/monlogin/ sinon ça ne fonctionnait pas.
                            • Partager sur Facebook
                            • Partager sur Twitter

                            [C - Linux] Compilation et exécution

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown