找不到打开的共享对象文件 libjli.so - 没有此文件或目录

找不到打开的共享对象文件 libjli.so - 没有此文件或目录

在运行 Java 1.6.0 update 16 的 64 位 RHEL5 上,root 可以成功运行 Java 程序,但用户无法运行,因为libjli.so据说找不到。SELinux 已关闭,并且环境与程序运行前相同。我尝试过输入,libjli.soLD_LIBRARY_PATH没有什么区别。

我该如何修复这个错误?

答案1

首先想到的可能性是libjli.so只有 root 才能读取。因此第一步:

ls -l $(locate libjli.so)

如果它位于奇数位置(不在/usr/lib或中),则创建包含目录路径的/lib文件并以 root 身份运行。/etc/ld.so.conf.d/java.conflibjli.so/sbin/ldconfig

要获取更多故障排除信息,请以 root 用户身份运行此命令,一次以非 root 用户身份运行:

ldd java

在正常情况下,两者的输出应该相同。它们之间的差异应该可以告诉你为什么会失败。

相关内容