Sie versuchen, eine ausführbare 32-Bit-Datei in einem 64-Bit-System auszuführen. Das ist kein Problem, aber dafür benötigen Sie einige Pakete auf Ihrem System.
Fügen Sie der Paketbibliothek die 32-Bit-Architektur hinzu:
sudo dpkg --add-architecture i386
Aktualisieren Sie den Paketcache:
sudo apt-get update
Und installiere die benötigten Pakete:
sudo apt-get install libc6:i386 libstdc++6:i386 libncurses5:i386
Danach sollten Sie die ausführbare 32-Bit-Datei ausführen können.
Ein bisschen Hintergrund:
ldd
Gibt zurück, not a dynamic executable
da es sich nicht um eine ausführbare 64-Bit-Datei handelt, daher nicht um eine dynamische 64-Bit-Programmdatei. Um ein 64-Bit-Shaed-Objekt wie Ihre ausführbare Datei auszuführen, muss ein dynamischer Linker vorhanden sein: der Linux-Loader . Normalerweise liegt es in /lib
. In 64-Bit-Linux-Systemen mit einem 32-Bit-Linker gibt es zwei Linker / Loader: Den 32-Bit-Loader /lib32/ld-linux.so
und den 64-Bit-Loader /lib64/ld-linux.so
. Eine 32-Bit-ausführbare Datei benötigt 32-Bit-Bibliotheken, sodass Ihre ausführbare Datei möglicherweise weitere Bibliotheken benötigt. Installieren Sie sie in Debian-basierten Systemen mit apt-get install libxyz:i386
.