У меня есть 32-разрядное приложение (называемое uclsyn), которое я получил от профессора астрономии. Мне удалось запустить его на CentOS год назад, но теперь, когда я настраиваю новую виртуальную машину CentOS, она не будет работать, и я не могу понять, почему. Он продолжает возвращаться с "убитым".
Это обмен в командной строке:
$ ./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
На машине, которая работает, «ldd ./uclsyn_linux» возвращает полный список зависимостей. Я нашел пакеты, которые предоставляют эти общие библиотеки, и все они, кажется, установлены.
Требуются пакеты
- 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
- Есть также куча библиотек, локальных для приложения, которые я проверил и уже установил.
Моя среда
CentOS работает под VirtualBox
uname -a
: Linux localhost.localdomain 2.6.32-358.el6.i686 # 1 SMP Чт 21 февраля 12:50:49 UTC 2013 i686 i686 i386 GNU / Linux
strace ./uclsyn
выводит? Это может дать нам подсказку о том, чего не хватает в первую очередь.
strace
программа не была правильно связана.