Debian+Java (was: OpenOffice2.0+Java-runtime+ODBC)


To czdebian-l zavinac debian bod cz
From Petr Heřman <ph zavinac lf2 bod cuni bod cz>
Date Sat, 19 Nov 2005 18:04:50 +0100
Mail-followup-to czdebian-l zavinac debian bod cz
User-agent Mutt/1.3.28i

On Sat, Nov 19, 2005 at 02:20:04PM +0100, Petr Heřman wrote:
...
> Ale moc se v Javě nevyznám a ani jsem neobjevil, jakou specifikaci to OO
> vlastně vyžaduje, tak jsem si spíš náhodně vybral a nainstaloval
> GNU metabalík balík gij, tj. v tuto chvíli 4.0.2-2 (a k tomu
> samozřejmě java-common).
...

Možná, že mnoho debianistů OpenOffice nepoužívá, tak zkusím položit
otázku ještě trochu jinak - nezávisle na OO:

| Jak se to vlastně má s Javou v Debianu? Resp. s Java runtime (JRE)?
| Jsou s tím nějaké problémy nebo to je bez problému?

V možná trošku kontroverzním článku http://www.openoffice.cz/node/1751
z března t.r. se široce diskutuje vhodnost, nevhodnost či snad přímo fatální
nebezpečí při závislostech nějakého freesoftu na Javě.

Konkrétně GJC a o Debianu se tam praví:
   ... Red Hat, který preferuje OpenOffice.org a GNU
   překladač Javy (GNU Compiler for Java - GCJ). Nejde jenom o překladač,
   ale o běhové prostředí Javy (JRE). ...

   Ostatní distribuce vyčkávají jak to dopadne s GCJ. Paul de Vrieze,
   člen OpenOffice.org týmu distribuce Gentoo, preferuje volně dostupnou
   implementaci Javy (jako GCJ) s tím, že použijí implementaci od Sunu
   nebude-li jiná možnost....

   Chris Hall a René Engelhard, správci balíčků OpenOffice.org v Debianu,
   pracují na GCJ spolu s Caolanem. GCJ a knihovna libgcc1 je zatím v
   neoficiálním experimentálním stromu Debianu a proto bude s největší
   pravděpodobností OpenOffice.org distribuován bez Javy, tzn. bez nových
   komponent a vlastností.

Začínám být trošku zmatený z toho, jaké balíky jsou vlastně v Debianu
nutné pro vytvoření JRE. Situace se zřejmě mění ze dne na den.
Ještě předevčírem byl v etch balík gij-4.0, ten už tam dneska není
a místo něj se objevil gij-3.4. Navíc začínám tušit, že runtime asi
není to samé co JRE, takže na to JRE je asi potřeba ještě něco navíc.

Ale ne. To je blbost. Když v tom
/usr/share/doc/java-common/html/c36.html#policy-vm
se vysloveně píše že:
   Java virtual machines must provide java-virtual-machine and depend on
   java-common. They can also provide the runtime environment that the
   package contains (java1-runtime and/or java2-runtime). If it does not
   provide the files itself it must depend on the needed runtime
   environment.
   ...
   They should have a CLASSPATH predefined which include the needed
   runtime environment.

Takže pro vytvoření JRE by měl stačit balík gij
se svými závislostmi:

Package: gij
Maintainer: Debian GCC maintainers <debian-gcc zavinac lists bod debian bod org>
Source: gcc-defaults (1.21)
Version: 4:3.3.5-3
Depends: cpp (>= 4:3.3.5-3), gij-3.3 (>= 1:3.3.5-1)
Suggests: gcj (>= 4:3.3.5-3)
Conflicts: libgcj2 (<= 3.0.2-4)
Filename: pool/main/g/gcc-defaults/gij_3.3.5-3_i386.deb
Description: The GNU Java bytecode interpreter

Package: gij-3.4
Maintainer: Debian GCC maintainers <debian-gcc zavinac lists bod debian bod org>
Source: gcc-3.4
Version: 3.4.3-13
Provides: java-virtual-machine, java1-runtime
Depends: gcc-3.4-base (>= 3.4.3-13), libgcj5 (>= 3.4.3-13), libc6 (>= 
2.3.2.ds1-21), libgcj5 (>= 3.4.1-3), zlib1g (>= 1:1.2.1)
Suggests: fastjar, gcj-3.4 (>= 3.4.3-13), libgcj5-awt (>= 3.4.3-13)
Filename: pool/main/g/gcc-3.4/gij-3.4_3.4.3-13_i386.deb
Description: The GNU Java bytecode interpreter

Nechápu, proč teda v těch závislostech není ta java-common?
Asi v tom je nějaký binec, taky nechápu, proč tam je ta libgcj5 dvakrát:
libgcj5 (>= 3.4.3-13)
libgcj5 (>= 3.4.1-3)

A taky nechápu, jak to funguje s tím CLASSPATH. Žádnou takovou proměnnou
mi ten balík nedefinuje.

Když jsem si teď nechal Googlem prohledat gcc.gnu.org na výraz 'JRE',
vypadlo několik set odkazů, ze kterých moc moudrý nejsem. Vypadá to,
že se snad musí nějaké to JRE, které není free, stáhnout odněkud
z http://java.sun.com (neobjevil jsem, kde by to tam tak mohlo být)
a pak si to sám zkompilovat pomocí toho gcj?

Petr Heřman




Partial thread listing: