But obviously the file is there with permission of 755 (-rwxr-xr-x).
Finally by taking Brian's suggestion, I used absolute path, instead of relative path with tilde (e.g. ~ ), the error disappeared.
Don't know if this is required by the code itself or just an usual difference between ~ and /home.