У мене є 32-розрядна програма (звана uclsyn), яку я отримав від професора астрономії. Мені вдалося запустити його на CentOS рік тому, але тепер, коли я налаштовую новий CentOS VM, він не запуститься, і я не можу зрозуміти, чому. Він продовжує повертатися із "Убитими".
Це обмін у командному рядку:
$ ./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
програма не була зв’язана правильно.