Como instalar o Oracle Java no Debian Wheezy com make-jpkg e fakeroot sem erros?

4

Como instalar o Oracle Java no Debian Wheezy com make-jpkg e fakeroot?

o manual para instalar o oracle java no debian wheezy é bastante claro e compreensível:

link link link

  • faça o download do jdk-7u21-linux-x64.tar.gz do oracle
  • instale o pacote java
  • execute make-jpkg com jdk-7u21-linux-x64.tar.gz

como root em execução:

make-jpkg jdk-7u21-linux-x64.tar.gz fakeroot make-jpkg jdk-7u21-linux-x64.tar.gz

resulta no seguinte erro:

You are real root -- unfortunately, some Java distributions have install scripts that directly manipulate /etc, and may cause some inconsistencies on your system. Instead, you should become a non-root user and run:

fakeroot make-jpkg jdk-7u21-linux-x64.tar.gz

which will allow no damage to be done to your system files and still permit the Java distribution to successfully extract.

Aborting.

como usuário normal em execução:

make-jpkg jdk-7u21-linux-x64.tar.gz fakeroot make-jpkg jdk-7u21-linux-x64.tar.gz

resulta em uma parede de aviso / erro.

alguns dos erros:

dpkg-shlibdeps: warning: Can't extract name and version from library name 'libverify.so'
error: couldn't find library libxslt.so.1 needed by /tmp/make-jpkg.MxvYKHyE3L/install/usr/lib/jvm/j2sdk1.7-oracle/jre/lib/amd64/libjfxwebkit.so (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-gencontrol: warning: Depends field of package oracle-j2sdk1.7: unknown substitution variable ${shlibs:Depends}
dpkg-shlibdeps: error: cannot continue due to the errors listed above

saída completa: sem fakeroot      link

com fakeroot      link

a instalação funciona bem:

dpkg -i oracle-j2sdk1.7_1.7.0+update21_amd64.deb

versão do java:

java -version
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)

o erro é seguro de ignorar?

    
por c33s 28.05.2013 / 13:25

1 resposta

0

Primeiro de tudo, você pode ignorar os avisos emitidos pelo dpkg-shlibdeps. Os erros devem sugerir quais pacotes você precisa instalar para satisfazer todas as dependências da biblioteca para o JDK.

A razão pela qual isso acontece é que você está construindo um pacote deb a partir de uma distribuição binária, ou seja, um JDK pré-compilado. Normalmente, os pacotes Debian são construídos a partir da fonte, não de binários. Para fazer isso, a pessoa que está criando o pacote adicionará todas as bibliotecas das quais a origem depende em um determinado arquivo ( debian/control ). Sem essas bibliotecas instaladas, a fonte não pode ser compilada e, portanto, não resultaria em um pacote.

No seu caso, todo o JDK já foi compilado pela Oracle e o make-jpkg apenas imita o processo de criação de um pacote a partir do código-fonte. Portanto, você não é obrigado a instalar todas as bibliotecas necessárias de antemão.

Para silenciar os erros, você pode usar apt-file para descobrir quais pacotes contêm os arquivos ausentes ( libgtk-x11-2.0.so.0 , libgdk-x11-2.0.so.0 , libatk-1.0.so.0 , ...) e instalá-los todos.

Ou você pode usar o OpenJDK, que vem pré-empacotado para o Debian Wheezy e pode ser facilmente instalado através de apt-get install openjdk-7-jdk .

    
por 14.07.2016 / 21:37