I missed something : symbolic links.
Code: Select all
# grep -v '^#' /etc/ld.so.conf | while read line; do echo "-- $line"; find -L "$line" -iname '*libjli*'; done
-- /usr/local/lib
-- //usr/lib32/opengl/nvidia/lib
-- //usr/lib64/opengl/nvidia/lib
-- /lib
-- /usr/lib
/usr/lib/jvm/sun-jdk-1.6/jre/lib/amd64/jli/libjli.so
/usr/lib/jvm/emul-linux-x86-java-1.6/lib/i386/jli/libjli.so
-- /lib64
-- /usr/lib64
/usr/lib64/jvm/sun-jdk-1.6/jre/lib/amd64/jli/libjli.so
/usr/lib64/jvm/emul-linux-x86-java-1.6/lib/i386/jli/libjli.so
-- /usr/local/lib64
-- /lib32
-- /usr/lib32
-- /usr/local/lib32
-- /usr/x86_64-pc-linux-gnu/lib
-- /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2
-- /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/32
-- /usr/lib64/nspr
-- /usr/lib64/nss
-- /usr/lib/qt4
-- /usr/lib64/qt4
-- /usr/lib32/qt4
find: `/usr/lib32/qt4': No such file or directory
-- /usr/kde/3.5/lib
-- /usr/kde/3.5/lib64
-- /usr/kde/3.5/lib32
-- /usr/qt/3/lib
-- /usr/qt/3/lib64
-- /usr/qt/3/lib32
-- /usr/games/lib
find: `/usr/games/lib': No such file or directory
-- /usr/games/lib32
find: `/usr/games/lib32': No such file or directory
-- /usr/lib32/libstdc++-v3/
Now that I can find why it is loaded, I try to locate the symbolic link :
Code: Select all
# ls -l /usr/lib/jvm/sun-jdk-1.6
lrwxrwxrwx 1 root root 21 Feb 1 12:09 /usr/lib/jvm/sun-jdk-1.6 -> /opt/sun-jdk-1.6.0.03
I've got a look on the fresh-install and the link is also present with the same name and the same target.
If I search libjli on the fresh-install like ld will do, I've got result :
Code: Select all
# grep -v '^#' /etc/ld.so.conf | while read line; do echo "-- $line"; find -L "$line" -iname '*libjli*'; done
-- /usr/local/lib
-- /lib
-- /usr/lib
/usr/lib/jvm/sun-jdk-1.6/jre/lib/amd64/jli/libjli.so
/usr/lib/jvm/sun-jre-bin-1.6/lib/amd64/jli/libjli.so
-- /lib64
-- /usr/lib64
/usr/lib64/jvm/sun-jdk-1.6/jre/lib/amd64/jli/libjli.so
/usr/lib64/jvm/sun-jre-bin-1.6/lib/amd64/jli/libjli.so
-- /usr/local/lib64
-- /lib32
-- /usr/lib32
-- /usr/local/lib32
-- /usr/x86_64-pc-linux-gnu/lib
-- /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2
-- /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/32
-- /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1
find: `/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1': No such file or directory
-- /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/32
find: `/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/32': No such file or directory
So the library should get loaded correctly I guess.
I don't understand why I've got
Code: Select all
# ldd /opt/sun-jdk-1.6.0.03/bin/javac
libpthread.so.0 => /lib/libpthread.so.0 (0x00002b5c9e5f9000)
libjli.so => not found
libdl.so.2 => /lib/libdl.so.2 (0x00002b5c9e814000)
libc.so.6 => /lib/libc.so.6 (0x00002b5c9ea19000)
/lib64/ld-linux-x86-64.so.2 (0x00002b5c9e3dd000)
# /opt/sun-jdk-1.6.0.03/bin/javac
/opt/sun-jdk-1.6.0.03/bin/javac: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory