Ce que les bibliothèques sont nécessaires pour ce binaire à exécuter?

Basé sur Linux (Ubuntu 11.10)

Avant que mon ordinateur est tombé en panne, j'ai eu un binaire sur mon ordinateur: ./program qui m'a été donnée sans la source. Ce fichier exécuté juste fine. Quand mon disque dur a échoué, j'ai commencé avec une nouvelle installation, et a essayé de courir ce binaire sur le même ordinateur. Il échoue désormais avec:

bash: ./program: cannot execute binary file

De course ldd sur le fichier donne un peu plus d'informations:

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

J'ai un deuxième ordinateur où le binaire s'exécute et ldd donne la sortie:

./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)

Est-il une manière que je peux dire à ce qui est nécessaire afin que je puisse obtenir mon programme fonctionne à nouveau? Je sais que tout ce qui est installé avant le crash a été fait avec apt-get donc je ne pense pas que cela exige quelque chose d'unique qui n'est pas dans le référentiel.

Localisée question?

Je dois admettre que ce spécifiques question peut être particulier pour moi, - mais la question reste toujours dans le sens général. Donnée binaire seulement, comment voulez-vous déterminer qui bibliothèques dont il a besoin pour fonctionner?

essayez nm -u program pour voir ce que les symboles non résolus?
sur chaque ordinateur, il y a une tonne d'entrées, mais dans les deux cas, un diff montre qu'ils sont de la même

OriginalL'auteur Hooked | 2012-02-27