Linux can't find file that exists

In order to execute an ELF binary linux needs to start a program that decodes ELF, loads dynamic libraries, etc. This program is called program interpreter. The name and full path to the program interpreter is written in the ELF itself

For instance

 $ file /usr/bin/cheese 
 /usr/bin/cheese: ELF 32-bit LSB executable, Intel 80386

 $ readelf -l /usr/bin/cheese  
 Elf file type is EXEC (Executable file)
 ...
 Program Headers:
 ...
 INTERP         0x000154 0x08048154 0x08048154 0x00013 0x00013 R   0x1
  [Requesting program interpreter: /lib/ld-linux.so.2]
 ...

If the program interpreter requested by the ELF is not found BASH gets the file not found error and reports "No such file or directory".

As @poige said above, you need to install basic support for running 32-bit applications.


Yes, Arch x86_64 doesn't come with 32-bit apps support by default. See this:

«… Can I run 32-bit apps inside Arch64? […] You can install lib32-* libraries from the multilib repository …»