Portál AbcLinuxu, 3. května 2025 23:00

Dotaz: dynamické linkování vs. strace

8.11.2005 20:37 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
dynamické linkování vs. strace
Přečteno: 229×
Odpovědět | Admin
Dobrý den,

nainstaloval jsem si do Mandrivy 2006 balík printer-utils, v něm je program mtink. Když ho normálně spustím, dostanu ....
[ivok@zero ~]$ mtink
mtink: error while loading shared libraries: libXm.so.2: cannot open shared object file: No such file or directory
[ivok@zero ~]$ ldd `which mtink`
        linux-gate.so.1 =>  (0xffffe000)
        libXm.so.2 => /usr/X11R6/lib/libXm.so.2 (0xb7dcf000)
        libXp.so.6 => /usr/X11R6/lib/libXp.so.6 (0xb7dc7000)
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0xb7db9000)
        libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0xb7d67000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0xb7c9a000)
        libc.so.6 => /lib/tls/libc.so.6 (0xb7b59000)
        libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0xb7b50000)
        libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0xb7b38000)
        libXft.so.2 => /usr/X11R6/lib/libXft.so.2 (0xb7b25000)
        libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0xb7b1d000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7b18000)
        /lib/ld-linux.so.2 (0x80000000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb7ae8000)
        libexpat.so.0 => /usr/lib/libexpat.so.0 (0xb7ac8000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7a58000)
        libz.so.1 => /lib/libz.so.1 (0xb7a45000)
Když ho spustím pomocí strace (strace mtink), normálně běží (teda přinejmenším nepíše nic o chybějících knihovnách)...

Tuší někdo, čím to může být, v čem je rozdíl?

PS: Je možné že nemám úplně správně nainstalované X.org (teda ve skutečnosti mám X.org 6.8 z předchozí Mandrivy 2005LE), takže beru na vědomí, že něco nemusí úplně fungovat, ale zajímá mě v čem je rozdíl při spuštění přes strace a normálně...
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

9.11.2005 00:07 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
Rozbalit Rozbalit vše Re: dynamické linkování vs. strace
Odpovědět | | Sbalit | Link | Blokovat | Admin
Vypíše
command -V mtink
to samé co
/usr/bin/which mtink
? Jestli mtink není nějaký alias/funkce v shellu. Protože jinak to bude nějaká duchařina :-o Napadá mě jedině
LD_DEBUG=all LD_DEBUG_OUTPUT=mtink-debug mtink
strace -E LD_DEBUG=all -E LD_DEBUG_OUTPUT=mtink-debug mtink
a porovnat soubory mtink-debug.*...
9.11.2005 17:45 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
Rozbalit Rozbalit vše Re: dynamické linkování vs. strace
Tak jsem na to trošku přišel - /usr/bin/mtink má nastaveno setuid a setgid bit... Ale stejně nevím, proč to nefunguje...

Když je odstraním, tak naběhne aspoň GUI, i když má nějaké další problémy (třeba s právama, proto tam to setuid/setgid je). Grrrrrr, vzdávám se.
10.11.2005 09:37 petr_p
Rozbalit Rozbalit vše Re: dynamické linkování vs. strace
Dynamicky linker pro suid programy defaultne ignoruje LD_PRELOAD apod. promenne. Mate libXm knihovnu v defaultni ceste? Proctete si ld-linux(8), treba na neco narazite.
10.11.2005 17:57 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
Rozbalit Rozbalit vše Re: dynamické linkování vs. strace
jo to bude ono, to jsem nevěděl. díky, jsem zas chytřejší...
[ivok@zero ~]$ echo $LD_LIBRARY_PATH 
/usr/X11R6/lib:/usr/X11R6/lib/modules
ale ten program stejně nefunguje, tak je to jedno.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.