Назад | Перейти на главную страницу

Не удается найти открытый общий объектный файл libjli.so - такого файла или каталога нет

В 64-битном RHEL5 с Java 1.6.0 с обновлением 16 пользователь root может успешно запустить Java-программу, но пользователь не может, потому что libjli.so якобы не может быть найден. SELinux выключен, и среда остается прежней до запуска программы. Я пробовал поставить libjli.so в LD_LIBRARY_PATH но это не имеет значения.

Как исправить эту ошибку?

Первая возможность, которая приходит на ум, заключается в том, что libjli.so читается только root. Итак, шаг первый:

ls -l $(locate libjli.so)

Если он находится в странном месте (не в /usr/lib или /lib) создайте файл /etc/ld.so.conf.d/java.conf содержащий путь к каталогу, содержащему libjli.so и беги /sbin/ldconfig как корень.

Для получения дополнительной информации по устранению неполадок выполните эту команду один раз от имени пользователя root и один раз как пользователь без полномочий root:

ldd java

В нормальном мире результат их работы будет идентичным. Чем они отличаются, это должно многое рассказать вам о том, почему это не удается.