qingjinlyc
qingjinlyc

Reputation: 195

/bin/sh: 1: /home/qingjinlyc/IDEs/llvm-gcc-4.2-2.9-i686-linux: Permission denied

When building klee, I need build uclibc for klee first. But something went wrong when I tried to make uclibc, the error info are:

qingjinlyc@qingjinlyc:~/IDEs/klee-uclibc-0.02-i386$ make
/bin/sh: 1: /home/qingjinlyc/IDEs/llvm-gcc-4.2-2.9-i686-linux: Permission denied
make: execvp: /home/qingjinlyc/IDEs/llvm-gcc-4.2-2.9-i686-linux: Permission denied
make: execvp: /home/qingjinlyc/IDEs/llvm-gcc-4.2-2.9-i686-linux: Permission denied
/bin/sh: 1: /home/qingjinlyc/IDEs/llvm-gcc-4.2-2.9-i686-linux: Permission denied
make[1]: execvp: /home/qingjinlyc/IDEs/llvm-gcc-4.2-2.9-i686-linux: Permission denied
make[1]: execvp: /home/qingjinlyc/IDEs/llvm-gcc-4.2-2.9-i686-linux: Permission denied
extra/scripts/gen_bits_syscall_h.sh: 30: extra/scripts/gen_bits_syscall_h.sh:             /home/qingjinlyc/IDEs/llvm-gcc-4.2-2.9-i686-linux: Permission denied
extra/scripts/gen_bits_syscall_h.sh: 26: extra/scripts/gen_bits_syscall_h.sh:   /home/qingjinlyc/IDEs/llvm-gcc-4.2-2.9-i686-linux: Permission denied
make locale_headers
/bin/sh: 1: /home/qingjinlyc/IDEs/llvm-gcc-4.2-2.9-i686-linux: Permission denied
make[1]: execvp: /home/qingjinlyc/IDEs/llvm-gcc-4.2-2.9-i686-linux: Permission denied
make[1]: execvp: /home/qingjinlyc/IDEs/llvm-gcc-4.2-2.9-i686-linux: Permission denied
make[1]: Nothing to be done for `locale_headers'.
CC libcrypt/crypt.os
/bin/sh: 1: /home/qingjinlyc/IDEs/llvm-gcc-4.2-2.9-i686-linux: Permission denied
make: *** [libcrypt/crypt.os] Error 126

I have checked the pemmissions of the correspoding directory:

drwxrwxrwx  9 qingjinlyc root 4096 Feb 24 08:52 llvm-gcc-4.2-2.9-i686-linux

it seems that all users in all group have access right to this directory, so it is quite strange how this make error happened...

I have been trapped in this problem for a whole day, anyone who can help will be appreciated :)

Upvotes: 1

Views: 1048

Answers (1)

ruakh
ruakh

Reputation: 183554

In order to execute a given file or directory, a user needs the execute-permissions on its parent directory, and its parent directory's parent directory, and so on. I'm guessing that / and /home/ are fine, so the problem is probably with /home/qingjinlyc/ and/or one of its descendants. To confirm that / and /home/ are fine, you can run this command:

ls -ld / /home/

and to confirm that one of the subdirectories isn't, you can run this command:

ls -ld /home/qingjinlyc/{,IDEs/{,llvm-gcc-4.2-2.9-i686-linux/}}

Then, to fix that, you can run this command:

chmod +x /home/qingjinlyc/{,IDEs/{,llvm-gcc-4.2-2.9-i686-linux/}}

(But you might want to take a moment to consider whether you really want all users of this system to be able to see what's in your home directory. I mean, it's probably fine, but it's worth a moment's consideration to be sure.)

Upvotes: 0

Related Questions