Não é possível encontrar o arquivo de objeto compartilhado aberto libjli.so - nenhum arquivo ou diretório

8

No RHEL5 de 64 bits que executa o Java 1.6.0 update 16, o root pode executar com êxito um programa Java, mas um usuário não pode porque libjli.so supostamente não pode ser encontrado. O SELinux está desligado e o ambiente é o mesmo antes de o programa ser executado. Eu tentei colocar libjli.so no LD_LIBRARY_PATH , mas isso não faz diferença.

Como corrijo esse erro?

    
por joeforker 24.08.2009 / 15:48

1 resposta

9

A primeira possibilidade que vem à mente é que libjli.so é legível apenas pelo root. Então, um passo:

ls -l $(locate libjli.so)

Se estiver em um local estranho (não em /usr/lib ou /lib ), crie o arquivo /etc/ld.so.conf.d/java.conf contendo o caminho para o diretório que contém libjli.so e execute /sbin/ldconfig como raiz.

Para mais informações sobre solução de problemas, execute este comando, uma vez como raiz e uma vez como usuário não raiz:

ldd java

Em um mundo são, a saída dos dois seria idêntica. O quanto eles diferem deve dizer muito sobre por que isso está falhando.

    
por 24.08.2009 / 18:26

Tags