J'ai une application 32 bits (appelée uclsyn) que j'ai reçue d'un professeur d'astronomie. J'ai réussi à le faire fonctionner sur CentOS il y a un an, mais maintenant, lorsque je configure une nouvelle machine virtuelle CentOS, il ne fonctionnera pas et je ne peux pas comprendre pourquoi. Il revient sans cesse avec "Killed".
C'est l'échange sur la ligne de commande:
$ ./uclsyn_linux
Killed
$ ldd ./uclsyn_linux
not a dynamic executable
$ file ./uclsyn_linux
uclsyn_linux: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped
Sur la machine qui s'exécute, "ldd ./uclsyn_linux" retourne toute une liste de dépendances. J'ai trouvé les packages qui fournissent ces bibliothèques partagées, et ils semblent tous être installés.
Forfaits requis
- libSM-1.1.0-7.1.el6.i686
- libX11-1.3-2.el6.i686
- libgcc-4.4.6-3.el6.i386
- glibc-2.12-1.47.el6_2.9.i686
- libuuid-2.17.2-12.4.el6.i686
- libXau-1.0.5-1.el6.i686
- Il y a aussi un tas de bibliothèques locales à l'application que j'ai vérifié et qui sont déjà installées.
Mon environnement
CentOS fonctionnant sous VirtualBox
uname -a
: Linux localhost.localdomain 2.6.32-358.el6.i686 # 1 SMP jeu 21 fév 12:50:49 UTC 2013 i686 i686 i386 GNU / Linux
strace ./uclsyn
sortie? Cela peut nous donner une idée de ce qui manque en premier.
strace
un programme qui n'était pas correctement lié.