Odpověď je v tomto řádku výstupu readelf -a
v původní otázce
[Requesting program interpreter: /lib/ld-linux.so.2]
Chyběl mi soubor /lib/ld-linux.so.2, který je potřeba ke spuštění 32bitových aplikací. Balíček Ubuntu, který obsahuje tento soubor, je libc6-i386.
Stará otázka, ale doufám, že to pomůže někomu jinému.
V mém případě jsem používal toolchain na Ubuntu 12.04, který byl postaven na Ubuntu 10.04 (vyžaduje GCC 4.1 k sestavení). Protože se většina knihoven přesunula do adresářů s více archy, nemohla najít ld.so. Vytvořte pro něj symbolický odkaz.
Zkontrolujte požadovanou cestu:
$ readelf -a arm-linux-gnueabi-gcc | grep interpreter: [Requesting program interpreter: /lib/ld-linux-x86-64.so.2]
Vytvořit symbolický odkaz:
$ sudo ln -s /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 /lib/ld-linux-x86-64.so.2
Pokud používáte 32bit, bude to i386-linux-gnu a ne x86_64-linux-gnu.
Ekvivalent WaitForSingleObject a WaitForMultipleObjects v Linuxu?
Jak nahradit mezery v názvech souborů pomocí bash skriptu