在构建klee时,我需要首先为klee构建uclbc。但当我尝试制作ucbc时出现了问题,错误信息是:
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
我已经检查了相应目录的任务:
drwxrwxrwx 9 qingjinlyc root 4096 Feb 24 08:52 llvm-gcc-4.2-2.9-i686-linux
似乎所有组中的所有用户都有权访问该目录,所以这个错误是如何发生的很奇怪。。。
我已经陷入这个问题一整天了,任何能提供帮助的人都将不胜感激:(
为了执行给定的文件或目录,用户需要对其父目录、父目录的父目录等具有执行权限。我猜/
和/home/
都很好,所以问题可能出在/home/qingjinlyc/
和/或其子目录上。要确认/
和/home/
正常,可以运行以下命令:
ls -ld / /home/
并且要确认其中一个子目录不是,可以运行以下命令:
ls -ld /home/qingjinlyc/{,IDEs/{,llvm-gcc-4.2-2.9-i686-linux/}}
然后,为了解决这个问题,您可以运行以下命令:
chmod +x /home/qingjinlyc/{,IDEs/{,llvm-gcc-4.2-2.9-i686-linux/}}
(但你可能需要花点时间考虑一下,你是否真的希望这个系统的所有用户都能看到你的主目录中的内容。我的意思是,这可能很好,但值得花点时间来确定。(