Qs. I compiled a small "hello world" C program on Ubuntu 10.04 32 bit machine. Then I put the executable(a.out) on Ubuntu 12.10(64 bit) VMWare virtual machine and tried to execute it(./a.out). The OS does not identify the file and says 'No such file or directory'. But when I put the same executable on a Ubuntu 12.10(64 bit) running on a 64 bit laptop, it runs fine and I get the desired output. The VM is running on IBM Blade Servers. I wanted to know why the results for a VM?
Ans: The message
No such file or directory
does not refer to your executable file: a.out
. Instead it refers to a helper program that's needed to run the 32 bit dynamically linked executable a.out
.