Fórum Ubuntu CZ/SK
Ostatní => Archiv => Téma založeno: optimizer 16 Září 2007, 18:29:43
-
Ahoj,
Snazim se prenest jeden program napsany v C z jednoho linuxoveho stroje na jiny. Nemam k dispozici zadne balicky, proto pouze kopiruji. Pomoci prikazu ldd jsem si zjistil zavislosti a tak vim, ktere knihovny program ke svemu behu potrebuje. Knihovny jsou ale ulozeny v nestandardnim adresari a proto program nelze spustit. Pouziju li prikaz:
lib/ld-linux.so.2 --library-path CESTA_KE_KNIHOVNAM MUJ_PROGRAM,
knihovny se nactou a program se spusti. Problem je ale v tom, ze bezici porgram vola dalsi spustitelne binarni soubory a ty opet nevedi, kde dane knihovny hledat.
Existuje moznost nastaveni promenne prostredi LD_LIBRARY_PATH, ale to asi nebude to prave reseni.
Prosim o radu, jak spravne tento program nainstalovat.
Dekuji !!!
-
Nejsem si uplne jisty jestli je ted reknu spravne ten postup. Vytvorit /etc/ld.so.conf a vlozit do nej cestu k adresari s knihovnami, popripade cesty oddelene treba novym radkem. A pak spustit ldconfig.
-
Ahoj,
diky za radu.
Provedl jsem pridani cesty ke knihovnam do souboru /etc/ld.so.conf a spustil prikaz ldconfig.
Nova cesta je /lib/k3
Nyni se zda byt vypis prikazu ldd v poradku:
linux-gate.so.1 => (0xffffe000)
libborcrtl.so.1 => /lib/k3/libborcrtl.so.1 (0x40027000)
libborqt-6.9.0-qt2.3.so => /lib/k3/libborqt-6.9.0-qt2.3.so (0x40134000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40864000)
libdl.so.2 => /lib/libdl.so.2 (0x4095b000)
libborunwind.so.6.0 => /lib/k3/libborunwind.so.6.0 (0x4095f000)
libborstl.so => /lib/k3/libborstl.so (0x40966000)
libm.so.6 => /lib/libm.so.6 (0x40b64000)
libpthread.so.0 => /lib/libpthread.so.0 (0x40b88000)
libc.so.6 => /lib/libc.so.6 (0x40b9a000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40cb2000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x40cc0000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40cc9000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x40ce2000)
/lib/ld-linux.so.2 (0x40000000)
Po spusteni programu se ale objevi nasledujici hlaska:
libborqt-6.9-qt2.3.so: cannot open shared object file: No such file or directory
Pozor libborqt-6.9-qt2.3.so je link na libborqt-6.9.0-qt2.3.so a je rovnez v adersari /lib/k3.
Cely adresar /lib/k3 vypada nasledovne:
-rwxr--r-- 1 adam users 93 2007-09-08 15:13 libborcrtl.so
lrwxrwxrwx 1 adam users 25 2007-09-17 07:48 libborcrtl.so.1 -> /lib/k3/libborcrtl.so.1.0
-rwxr--r-- 1 adam users 61536 2007-09-08 15:13 libborcrtl.so.1.0
-rwxr--r-- 1 adam users 7526184 2007-09-08 15:13 libborqt-6.9.0-qt2.3.so
lrwxrwxrwx 1 root root 31 2007-09-17 12:41 libborqt-6.9-qt2.3.so -> /lib/k3/libborqt-6.9.0-qt2.3.so
lrwxrwxrwx 1 adam users 24 2007-09-17 07:48 libborstl.so -> /lib/k3/libborstl.so.1.0
-rwxr--r-- 1 adam users 1403344 2007-09-08 15:13 libborstl.so.1.0
lrwxrwxrwx 1 adam users 27 2007-09-17 07:48 libborunwind.so -> /lib/k3/libborunwind.so.6.0
lrwxrwxrwx 1 adam users 27 2007-09-17 07:48 libborunwind.so.6 -> /lib/k3/libborunwind.so.6.0
-rwxr--r-- 1 adam users 27125 2007-09-08 15:13 libborunwind.so.6.0
Nejaky napad?
-
Mozna to zkusit spustit s strace. Dalo by se tak zjistit odkud se vlastne snazi tu knihovnu naladovat.
-
Ahoj,
strace ukaze, ze program tuto knihovnu hleda vsude jinde, jenom ne v /lib/k3.
Pritom ldd odkaz najde....
Stale nevim co s tim.