Die Antwort steht in dieser Zeile der Ausgabe von readelf -a
in der ursprünglichen Frage
[Requesting program interpreter: /lib/ld-linux.so.2]
Mir fehlte die Datei /lib/ld-linux.so.2, die zum Ausführen von 32-Bit-Apps benötigt wird. Das Ubuntu-Paket, das diese Datei enthält, ist libc6-i386.
Alte Frage, aber hoffentlich hilft das jemand anderem.
In meinem Fall habe ich eine Toolchain unter Ubuntu 12.04 verwendet, die auf Ubuntu 10.04 erstellt wurde (zum Erstellen ist GCC 4.1 erforderlich). Da die meisten Bibliotheken in Multiarch-Verzeichnisse verschoben wurden, konnte es ld.so nicht finden. Erstellen Sie also einen Symlink dafür.
Überprüfen Sie den erforderlichen Pfad:
$ readelf -a arm-linux-gnueabi-gcc | grep interpreter: [Requesting program interpreter: /lib/ld-linux-x86-64.so.2]
Symlink erstellen:
$ sudo ln -s /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 /lib/ld-linux-x86-64.so.2
Wenn Sie 32-Bit verwenden, ist es i386-linux-gnu und nicht x86_64-linux-gnu.