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

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

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

o manual para instalação do oracle java no debian wheezy é bastante claro e compreensível:

http://wiki.debian.org/JavaPackage https://blogs.oracle.com/marigan/entry/installation_of_the_jdk_on http://www.debian-administration.org/articles/142

  • baixe 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:

Você é um verdadeiro root - infelizmente, algumas distribuições Java possuem scripts de instalação que manipulam diretamente o /etc e podem causar algumas inconsistências em seu sistema. Em vez disso, você deve se tornar um usuário não root e executar:

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

o que não permitirá que nenhum dano seja causado aos arquivos do sistema e ainda permitirá que a distribuição Java seja extraída com sucesso.

Abortando.

como usuário normal executando:

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 http://pastie.org/private/r2llqa2pubqzh8krhbymw

com raiz falsa http://pastie.org/private/kigrgcsam9pvdazbex1fa

a instalação funciona bem:

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

versão 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 para ser ignorado?

Responder1

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 do 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 compilados a partir do código-fonte, não de binários. Para fazer isso, a pessoa que está construindo o pacote adicionaria todas as bibliotecas das quais a fonte depende a um determinado arquivo ( debian/control). Sem essas bibliotecas instaladas, o código-fonte não pode ser compilado e, portanto, não resultaria em um pacote.

No seu caso, todo o JDK já foi compilado pela Oracle e make-jpkgapenas imita o processo de construção de um pacote a partir do código-fonte. Portanto, não é necessário instalar todas as bibliotecas necessárias antecipadamente.

Para silenciar os erros você pode usar apt-filepara 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 instalar todos eles.

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

informação relacionada