7

I have installed GCC compiler by installing the build-essential package.

After the installation I wrote a simple C program. I tried to run it with the following command:

gcc First.c
./a.out

but I'm getting a bash: ./a.out: Permission denied message. I don't know what to do now.

4

give that program (I mean a.out) the permission to "be executed" by this command:

chmod +x ./a.out

then execute it ;-)

|improve this answer|||||
1

Execute the command

ls -l a.out

This will show the permissions granted to the file like below.

-rw-r--r-- 1 js js 0 2011-03-27 19:45 a.out

The first set is permissions and to execute it as such you need permission 'execute' Grant the execute permission using chmod +x a.out or chmod 755 a.out

|improve this answer|||||
  • sh ./a.out is not going to work. This is a binary, not a shell script. – Adam Byrtek Mar 27 '11 at 15:29
1

Looks like the executable file a.out doesn't have the execute (+x) mode set.

Run the command chmod a+x a.out to give the user the right to run the file. After that you can execute the file by running ./a.out in a terminal.

There's another way to achieve the same thing:

1) Right-click the a.out file in the file browser.

2) Select Properties from the drop-down menu

3) Open up the Permissions tab

4) Check the box Allow to execute this file as a program.

|improve this answer|||||
0

Write Open a text editor and type the above mentioned "Hello World" code. Save this file as HelloWorld.c.

Compile Open command prompt and go to your current working directory where you saved your HelloWorld.c file. Compile your code by typing gcc HelloWorld.c in command prompt. Your C program will compile successfully, If your program doesn't contain any syntax error. It will generate an a.out file.

Permission Give execute permission

chmod +x ./a.out

Execute Now run your program by typing a.out in command prompt.

Output You will see "Hello World" printed on your console.

|improve this answer|||||

Not the answer you're looking for? Browse other questions tagged or ask your own question.