Se o seu binário estava sendo executado em outro sistema (talvez um sistema de 32 bits?) e você tem um sistema de 64 bits, provavelmente não possui o suporte de 32 bits instalado. Você tem uma versão de 64 bits do mesmo software?
Veja também: link
ritwik@indus ~/perforce $ ls
p4d
ritwik@indus ~/perforce $ ./p4d
-bash: ./p4d: No such file or directory
Você entendeu o problema certo? Por que isso está acontecendo ? Como faço para corrigir isso?
ritwik@indus ~/p4 $ ls -q
p4d
ritwik@indus ~/p4 $ ls -b
p4d
Se o seu binário estava sendo executado em outro sistema (talvez um sistema de 32 bits?) e você tem um sistema de 64 bits, provavelmente não possui o suporte de 32 bits instalado. Você tem uma versão de 64 bits do mesmo software?
Veja também: link
Se este for um script de shell, verifique os finais de linha no arquivo. Se houver finais de linha do DOS, pode ser que a linha do intérprete não esteja sendo entendida.
dos2unix p4d
Parece-me que você tem um espaço no nome do arquivo. O que você consegue fazer isso?
find . -name *p4d* -exec echo \"{}\" \;
Suponho que será algo como "./p4d "
(anote o espaço antes da citação final). Se este for o caso, você pode corrigi-lo executando
mv p4d* p4d