RPM: falha na dependência jre, mesmo que a versão do JRE esteja instalada

1

Estou tentando instalar um pacote e ele falha ao relatar uma dependência ausente:

# rpm -ivh *
error: Failed dependencies:
    jre >= 1.7.0 is needed by Tomcat-7.0.37-1.noarch

Ao mesmo tempo, quando eu verifico minha versão de java, aqui está o que eu recebo:

# java -version
java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) Server VM (build 24.0-b56, mixed mode)

Não é o java que o rpm quer? Estou esquecendo de algo? O rpm vê um java diferente e como posso verificar isso?

    
por Ibolit 08.10.2013 / 15:39

1 resposta

4

O gerenciador de pacotes é apenas isso - um gerenciador de informações sobre pacotes, ele não sabe realmente o que está em seu sistema, apenas quais pacotes ele instalou e, portanto, o que ele supõe estar em seu sistema.

O problema óbvio com este design é que os dois podem ficar fora de sincronia, digamos, se você instalou o JRE manualmente baixando-o do oracle, então o gerenciador de pacotes não tem nenhum indício de que está lá e, portanto, faz o trabalho de apontar a cadeia de dependência com falha.

Existem várias opções, assumindo que este é o problema (verifique sua lista de pacotes rpm, esqueço os parâmetros do rpm) por ordem de: (1) Você pode instalar sua versão distribuições do JRE, o que tornará o gerenciador de pacotes feliz, (2) Você pode falsificar o gerenciador de pacotes, então ele acha que a dependência "jre versão 1.7.0" está realmente instalada, com ou sem instalá-lo, então subverter os binários java para usar sua versão instalada ou (3) você pode instalar tomcat com a opção --nodeps para ignorar dependências. Esteja ciente (3) é um declive escorregadio e você vai acabar ignorando mais dependências e sub-dependências ao longo do tempo.

    
por 08.10.2013 / 16:01