Welche Bibliotheken werden benötigt für dieses binary ausführen?

Linux-Basis (Ubuntu 11.10)

Bevor mein computer ist abgestürzt, ich hatte einen binäre auf meinem computer: ./program gegeben wurde, dass ohne mich die Quelle. Diese Datei ausgeführt Prima. Wenn meine Festplatte nicht, ich begann mit einem frisch installieren und habe versucht zu laufen, diese binäre die auf dem gleichen computer. Jetzt schlägt fehl mit:

bash: ./program: cannot execute binary file

Läuft ldd auf die Datei gibt Ihnen ein bisschen mehr Informationen:

/usr/bin/ldd: line 161: /lib64/ld-linux-x86-64.so.2: cannot execute binary file
not a dynamic executable

Ich habe einen zweiten computer, auf dem das binary läuft und ldd gibt die Ausgabe:

./program:
    linux-vdso.so.1 =>  (0x00007fffdad5e000)
    libz.so.1 => /lib64/libz.so.1 (0x00000039a1400000)
    libstdc++.so.6 => /usr/local/gcc/gcc-4.5.1/lib64/libstdc++.so.6 (0x00007fce82c7a000)
    libm.so.6 => /lib64/libm.so.6 (0x00007fce829f6000)
    libgcc_s.so.1 => /usr/local/gcc/gcc-4.5.1/lib64/libgcc_s.so.1 (0x00007fce827e1000)
    libc.so.6 => /lib64/libc.so.6 (0x00007fce82452000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fce82f7f000)

Gibt es eine Möglichkeit, ich kann sagen, was benötigt wird, so kann ich mein Programm wieder zum laufen? Ich weiß, dass etwas installiert, bevor der Absturz geschah mit apt-get also ich glaube nicht, dass es erfordert etwas einzigartiges, das nicht im repository.

Lokalisierte Frage?

Ich zugeben, dass dies bestimmten Frage möglicherweise insbesondere für mich - aber die Frage steht immer noch im Allgemeinen Sinne. Gegeben eine binäre nur, wie wollen Sie ermitteln, welche Bibliotheken es benötigt, um ausgeführt werden?

versuchen nm -u program um zu sehen, was nicht aufgelöste Symbole gibt es?
auf jedem computer gibt es eine Tonne von Einträgen, aber in beiden Fällen eine diff zeigt, Sie sind die gleichen

InformationsquelleAutor Hooked | 2012-02-27

Schreibe einen Kommentar