ldconfig, ldd

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Sobota Březen 8 19:25:55 CET 2008


On Mon, 3 Mar 2008, Vladimír Náprstek wrote:

> no a potom spustím ldd
> -v /usr/lib/jvm/java-1.5.0-sun/jre/lib/i386/libawt.so:
>  	linux-gate.so.1 =>  (0xffffe000)
> 	libmlib_image.so => not found
> 	libjvm.so => /usr/lib/jvm/java-1.5.0-sun/jre/lib/i386/server/libjvm.so
> (0xb7490000)
> 	libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb746b000)
> 	libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb7467000)
> 	libjava.so => not found
> 	libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7319000)
> 	libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb7301000)
> 	/lib/ld-linux.so.2 (0x80000000)

Já se koukal na 1.6.0, ale tam jsem si všimnul zajímavé věci, že
libawt.so má v sobě zakompilovaný RPATH s hodnotou $ORIGIN (viz objdump 
-p, část "Dynamic Section") a že když dám ldd .../libawt.so, tak to
libmlib_image.so a libjava.so, co jsou ve stejném adresáři, najde i
bez toho, abych měl ten adresář v LD_LIBRARY_PATH nebo /etc/ld.so.conf.
Je možné, že ve Vašem případě působí ten RPATH z nějakého důvodu
naopak kontraproduktivně. Zkuste --inhibit-rpath.

-- 
Pavel Kankovsky aka Peak                          / Jeremiah 9:21        \
"For death is come up into our MS Windows(tm)..." \ 21th century edition /




Další informace o konferenci Linux