Linux – java wont run under chroot cause it can not find shared libraries

javalinuxruby

i have openjdk and jRuby installed and running properly.

however when i run exactly same environment under chroot, i get:

error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory

i can see the libs, they are in place.

played with setting PATH, JAVA_HOME and LD_LIBRARY_PATH to correct values.

did not help.

any clues?

Best Answer

seems you did not mount proc under your chroot.

try to mount its own proc by:

# inside chroot
mount -t proc none /proc

or to "share" system's proc by:

# outside chroot
mount -o bind /proc /path/to/chroot/proc