mjb Posted August 19, 2008 Report Share Posted August 19, 2008 "/bin/ls cannot access *" isn't referring to "/bin/ls" not being accessible, it is the "install" app trying to execute "/bin/ls *" and the "*" is not expanding as it would on the shell. i.e. when you type "ls *" from a shell (or run "ls *" from a shell script), the "*" is expanded by the shell to all non-hidden (i.e. not starting with a ".") files. since it appears "install" is an executable, it is probably doing a 'system("/bin/ls *");' in the C code, which would not be expanded, so "ls" is literally looking for a file named "*", which it can't find. so, because it's presumably being called to do a check of the current directory's contents, but is erroring out, the "install" app is just giving the error you're seeing based on the call to "ls" which is failing for it. if you run "strace /tmp/install >install.out 2>&1" (without the quotes) it will give you the gory details of exactly what that app is doing, down to the kernel level system calls, in a file called "install.out" in the current directory. mjb Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.