Reputation: 195
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
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