I have a single 32bit executable binary file that I need to run on my x86_64 machine. If the file is executable (even dynamically linked), why do I need to install some dependencies related to the libraries of the programming language that the binary file programmed with?
[root@server]# file TcpServer
TcpServer: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x20fc1da672a6ba3632123abc654f9ea88b34259, not stripped
[root@server]# ./TcpServer</b>
-bash: ./TcpServer: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory`
[root@server]# yum install glibc.i686
[root@server]# ./TcpServer
./TcpServer: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory`
Try to use ldd <your binary>
to see what libraries can not be found and install those libraries one by one.