/usr/share/tipp10$ ll
insgesamt 9408
drwxr-xr-x 3 myname ssl-cert 4096 Feb 26 20:07 ./
drwxr-xr-x 288 root root 12288 Feb 26 20:07 ../
-rwxrwxrwx 1 myname ssl-cert 9480 Okt 6 2010 error.wav*
drwxrwxrwx 4 myname ssl-cert 4096 Feb 26 20:07 help/
-rwxrwxrwx 1 myname ssl-cert 16368 Dez 30 2010 license_de.txt*
-rwxrwxrwx 1 myname ssl-cert 16291 Dez 30 2010 license_en.txt*
-rwxrwxrwx 1 myname ssl-cert 5928 Okt 6 2010 metronome.wav*
-rwxrwxrwx 1 myname ssl-cert 9537480 Mär 11 2011 tipp10*
-rwxrwxrwx 1 myname ssl-cert 1255 Nov 7 2008 tipp10.png*
-rwxrwxrwx 1 myname ssl-cert 13312 Dez 18 2010 tipp10v2.template*
/usr/share/tipp10$ pwd tipp10
/usr/share/tipp10
/usr/share/tipp10$ file tipp10
tipp10: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.4, not stripped
manuel@P5KC:/usr/share/tipp10$ ldd tipp10
\tdas Programm ist nicht dynamisch gelinkt # (Program is not dynamic linked)
/usr/share/tipp10$ ./tipp10
bash: ./tipp10: File not found
Ubuntu 12.04 x64
What the heck is wrong here?
EDIT: --------------------- SOLUTION ---------------------
.. for those, who dont want to read the complete dup article.
My OS is 64-bit. I though 32-bit apps would run on 64-bit machines. 32-bit apps can run on a 64-bit machine, but only if the requisite supporting libraries are installed. For running 32-bit programs, try installing the ia32-libs package.
pwd
,mount
,head ./tipp10
... – pbm Feb 26 '13 at 22:10file
andldd
. Also, what kernel do you have? Check withuname -a
. – forcefsck Feb 26 '13 at 22:16/usr/share
on root partition? If not is that partition mounted withexec
ornoexec
flag? – pbm Feb 26 '13 at 22:18ia32-libs
package. – forcefsck Feb 26 '13 at 22:26tipp10
:file(1)
says it's a 32-bit executable, dynamically linked, butldd(1)
doesn't see that. Trying to run it says "file not found", that could be due to not having the 32-bit dynamic linker available. Try runningobjdump -x tipp10
, it should print a lot of stuff (and not error out). – vonbrand Feb 26 '13 at 22:33echo $$
gives you the PID of the shell. In another shell you can start strace:strace -f -p $PID
That may give clearer error messages. – Hauke Laging Feb 26 '13 at 22:37ldd
only supports architectures that can run on the machine. – Gilles 'SO- stop being evil' Feb 26 '13 at 23:28ldd
is not part of binutils, it's a wrapper script that runs the dynamic loader (/lib64/ld-linux-x86-64.so.2
on amd64,/lib/ld-linux.so.2
on i386). – Gilles 'SO- stop being evil' Feb 26 '13 at 23:37