1

在构建 klee 时,我需要先为 klee 构建 uclibc。但是当我尝试制作 uclibc 时出了点问题,错误信息是:

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

似乎所有组中的所有用户都有权访问该目录,所以这个make错误是如何发生的很奇怪......

我已经被这个问题困了一整天,任何可以提供帮助的人将不胜感激:)

4

1 回答 1

0

为了执行给定的文件或目录,用户需要对其父目录及其父目录的父目录等的执行权限。我猜这很好//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/}}

(但您可能需要花点时间考虑一下您是否真的希望该系统的所有用户都能够看到您的主目录中的内容。我的意思是,这可能没问题,但值得花点时间来确定一下。)

于 2013-02-24T02:56:34.917 回答