Možný duplikát:
Některé binární soubory nelze spustit v prostředí chroot (zsh:Nenalezeno)
Dnes jsem narazil na něco, co mě zarazilo. Spolupracovník pracuje se specifickým předkompilovaným binárním souborem, který si stáhl (k dispozici zde). Na serveru Ubuntu 10.04 LTS, na kterém pracuje, pokus o spuštění tohoto souboru vede k nenalezení souboru, a to i se správně nastavenými oprávněními.
A přesto, když se o totéž pokusím z OpenSUSE 11.4, běží to v pohodě. Spuštění file
na to mi dává:
ELF 32bitový LSB spustitelný soubor, Intel 80386, verze 1 (SYSV), dynamicky propojený (používá sdílené knihovny), pro GNU/Linux 2.6.15, zbavený
Oba boxy Ubuntu i OpenSUSE jsou 64bitové instalace a file
vrátí stejné informace na obou počítačích.
Což mi přijde v pohodě. A na krabici opensuse mi LDD dokonce dává krátký seznam souborů knihovny. Ruční kontrola, všechny tyto zadané soubory existují také na serveru Ubuntu. Výstup trace je však odlišný:
Opensuse:
execve(./trid”, [./trid”], [/* 122 vars */]) =0
Ubuntu (úplná cesta nezmění výsledek):
execve(./trid”, [./trid”], [/* 19 vars */]) =-1 ENOENT (Žádný takový soubor nebo adresář)
Co může způsobit, že soubor jako tento nebude tímto způsobem spustitelný?
Přijatá odpověď:
Typ
ldd ./trid
v systému openSuse i Ubuntu.
Mám podezření, že zjistíte, že tomu druhému chybí soubor knihovny.