Problématique

Nombreuses sont les applications qui nécessitent java pour fonctionner. Cependant, obtenir java sur freBSD n'est pas toujours chose aisée, surtout pour l'obtention d'une installation propre.

Solution

Une méthode simple pour utiliser java est d'installer les bibliothèques de compatibilité Linux puis d'installer java pour Linux sur FreeBSD. Mais cette solution est peu élégante. Rien ne vaut une installation avec des binaires compilés spécialement pour FreeBSD.

Malheureusement, malgré les informations fournies sur le site officiel, les binaires java ne sont pas disponibles dans les applications portées FreeBSD.

Télécharger les binaires

Il faut télécharger ici les binaires compilés spécialement pour FreeBSD.

Une fois le paquet tbz sur FreeBSD, installons-le :

pkg_add diablo-jre-freebsd7.i386.1.6.0.07.02.tbz

Normalement, sauf si l'on a pris soin de vérifier toutes les dépendances, il manque des paquets. Si c'est le cas, l'installation indique les paquets manquants à installer :

xtrans-1.0.4
xproto-7.0.10_1
xextproto-7.0.2
javavmwrapper-2.3.2
...

Installer les paquets manquants

Pour les installer, rien de plus simple qu'une petite installation à la main :

pkg_add -r ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7.1-release/All/xtrans-1.0.4.tbz
pkg_add -r ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7.1-release/All/xproto-7.0.10_1.tbz
pkg_add -r ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7.1-release/All/xextproto-7.0.2.tbz
pkg_add -r ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7.1-release/All/javavmwrapper-2.3.2.tbz
...

Et ainsi de suite pour tous les paquets manquants.

Une fois cela fait, il ne reste qu'à recommencer l'installation à partir du fichier téléchargé.

Installer les binaires

pkg_add diablo-jre-freebsd7.i386.1.6.0.07.02.tbz

Normalement, si tout se passe bien, la licence s'affiche et demande d'accepter ou non les modalités : [yes/no].

Il suffit d'accepter et l'installation s'achève.

Par défaut, java est installé dans /usr/local/diablo-jre1.6.0/bin. Pour vérifier son installation, tapez :

/usr/local/diablo-jre1.6.0/bin/java -version

et java indique la version installée.

Il ne reste plus qu'à l'utiliser.

Installon, par exemple, saxon. Il suffit pour cela de récupérer les binaires, de les télécharger et de les décompresser dans un répertoire. Par exemple /usr/local/java. Pour vérifier que la machine virtuelle fonctionne correctement, il suffit d'appeler l'application nouvellement installée :

/usr/local/diablo-jre1.6.0/bin/java -jar /usr/local/java/saxon/saxon9.jar -?

Et l'on obtient :

Saxon 9.1.0.5J from Saxonica
Usage: see http://www.saxonica.com/documentation/using-xsl/commandline.html
Options:
  -a                    Use xml-stylesheet PI, not style-doc argument
  -c:filename           Use compiled stylesheet from file
  -cr:classname         Use collection URI resolver class
  -dtd:on|off           Validate using DTD
...

Tout fonctionne.