[devel] hasher, rpath, $ORIGIN

Max Ivanov ivanov.maxim на gmail.com
Вс Янв 24 02:43:20 UTC 2010


Еще забыл добавить в копилку странностей:

1) $ ldd -r /usr/lib/jvm/java/bin/javac
        linux-gate.so.1 =>  (0xb77c0000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb779f000)
        libjli.so =>
/usr/lib/jvm/java/bin/../jre/lib/i386/jli/libjli.so (0xb7796000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7791000)
        libc.so.6 => /lib/libc.so.6 (0xb7639000)
        /lib/ld-linux.so.2 (0xb77c1000)


2) $ LD_DEBUG=libs /usr/lib/jvm/java/bin/javac
 ....
     10692:     find library=libjli.so [0]; searching
     10692:      search
path=tls/i686/sse2:tls/i686:tls/sse2:tls:i686/sse2:i686:sse2:
 (RPATH from file /usr/lib/jvm/java/bin/javac)
     10692:       trying file=tls/i686/sse2/libjli.so
     10692:       trying file=tls/i686/libjli.so
     10692:       trying file=tls/sse2/libjli.so
     10692:       trying file=tls/libjli.so
     10692:       trying file=i686/sse2/libjli.so
     10692:       trying file=i686/libjli.so
     10692:       trying file=sse2/libjli.so
     10692:       trying file=libjli.so
     10692:      search cache=/etc/ld.so.cache
     10692:      search
path=/lib/tls/i686/sse2:/lib/tls/i686:/lib/tls/sse2:/lib/tls:/lib/i686/sse2:/lib/i686:/lib/sse2:/lib:/usr/lib/tls/i686/sse2:/usr/lib/tls/i686:/usr/lib/tls/sse2:/usr/lib/tls:/usr/lib/i686/sse2:/usr/lib/i686:/usr/lib/sse2:/usr/lib
               (system search path)
     10692:       trying file=/lib/tls/i686/sse2/libjli.so
     10692:       trying file=/lib/tls/i686/libjli.so
     10692:       trying file=/lib/tls/sse2/libjli.so
     10692:       trying file=/lib/tls/libjli.so
     10692:       trying file=/lib/i686/sse2/libjli.so
     10692:       trying file=/lib/i686/libjli.so
     10692:       trying file=/lib/sse2/libjli.so
     10692:       trying file=/lib/libjli.so
     10692:       trying file=/usr/lib/tls/i686/sse2/libjli.so
     10692:       trying file=/usr/lib/tls/i686/libjli.so
     10692:       trying file=/usr/lib/tls/sse2/libjli.so
     10692:       trying file=/usr/lib/tls/libjli.so
     10692:       trying file=/usr/lib/i686/sse2/libjli.so
     10692:       trying file=/usr/lib/i686/libjli.so
     10692:       trying file=/usr/lib/sse2/libjli.so
     10692:       trying file=/usr/lib/libjli.so



24.01.10, Max Ivanov<ivanov.maxim на gmail.com> написал(а):
> Почему-то javac (от sun) будучи поставленным в hasher не видит
> libjli.so, в хост системе все ок. Ничего не понимаю :)
>
> [builder на rbnote bin]$ readelf -a ./javac  |grep jli
>  0x00000001 (NEEDED)                     Shared library: [libjli.so]
>  0x0000000f (RPATH)                      Library rpath:
> [$ORIGIN/../lib/i386/jli:$ORIGIN/../jre/lib/i386/jli]
>   0x0030: Version: 1  File: libjli.so  Cnt: 1
>
> При этом strace javac не показывает даже попыток поиска  по rpath,
> только стандартные пути =(
>
> Вопрос стандартный, где подкрутить, чтобы заработало?
>


Подробная информация о списке рассылки Devel