4. Questions concernant Java sous Linux

Contenu de cette section

Vous apprendrez ici les astuces de base permettant d'utiliser Java sous Linux.

4.1 Peut-on trouver Java et HotJava dans une distribution Linux~?

Pas pour l'instant, mais cela ne devrait être qu'une question de semaines.

4.2 Où trouver la dernière distribution de Java pour Linux~?

Jetez un coup d'oeil à ftp://java.blackdown.org/pub/Java/linux . Le dernier Java pour Linux peut y être récupéré. Il vaut mieux cependant commencer par lire ftp://java.blackdown.org/pub/Java/linux/README .

Les fichiers dont vous aurez besoin sont :

        linux.jdk-1.0-try1.common.tar.gz
et soit :
        linux.jdk-1.0-try3.static-motif-bin.tar.gz
   soit :
        linux.jdk-1.0-try3.shared-motif-bin.tar.gz,
suivant la présence ou non des bibliothèques partagées Motif sur votre système.

Si vous utilisez Red Hat Linux ou tout autre système connaissant RPM, vous pouvez installer la beta 1.0 à partir de :
ftp://java.blackdown.org/pub/Linux/RPMS/i386/JDK-linux-common-1.0b-1.i386.rpm
et
ftp://java.blackdown.org/pub/Linux/RPMS/i386/JDK-linux-static-1.0b-1.i386.rpm
ou
ftp://java.blackdown.org/pub/Linux/RPMS/i386/JDK-linux-shared-1.0b-1.i386.rpm
.

Pour les utilisateurs Européens, le contenu de ftp://java.blackdown.org/pub/Java/linux et
ftp://java.blackdown.org/pub/Linux/RPMS/i386/JDK-linux* est désormais répliqué en Grande-Bretagne à l'adresse : ftp://ftp.linux.org.uk/pub/linux/java . Si cela intéresse quelqu'un, il s'agit de la machine zen.btc.uwe.ac.uk. Le miroir est réactualisé tous les jours vers 6 heures du matin, heure locale.

Ce portage (réalisé par Randy Chapman à partir des sources de Sun) est celui auquel il est fait référence partout ailleurs dans ce document sous le nom de JDK (Java Development Kit).

4.3 Quel est l'environnement requis pour exécuter Java~?

Pour commencer, il faut un système Linux ELF. Aucun support a.out n'est disponible et, vue la vitesse à laquelle le monde Linux passe à ELF, il est peu probable qu'il y en ait jamais un.

Il vous faut un noyau 1.2.13 ou plus récent. Il semble y avoir un bug dans la fonction getcwd(3) des noyaux antérieurs, ce qui est fatal à bin/javac qui n'en vérifie pas le code de retour.

Ces bibliothèques sont également nécessaires :

libc.so.5 => /lib/libc.so.5.2.18

(La bibliothèque C standard)

libX11.so.6 => /usr/X11/lib/libX11.so.6.0

(La bibliothèque de base de X11R6)

libXt.so.6 => /usr/X11/lib/libXt.so.6.0

(La bibliothèque de la boîte à outils Athena)

libXext.so.6 => /usr/X11/lib/libXext.so.6.0

(La bibliothèque d'extensions X)

libXpm.so.4 => /usr/X11/lib/libXpm.so.4.3

(La bibliothèque X de gestion des pixmaps)

libdl.so.1 => /lib/libdl.so.1.7.9

(Le support du chargement dynamique de modules objet)

Il n'est pas impossible que les bibliothèques de support du C et de X soient déjà installées sur votre système.

Si vous ne l'avez pas déjà, récupérez libc.5.2.18.bin.tar.gz sur ftp://tsx-11.mit.edu/pub/linux/packages/GCC/ .
Décompressez et détarez-le, puis copiez dans /lib les fichiers contenus dans le répertoire lib créé.

Si vous n'avez pas une version récente de ld.so (ou libdl.so.1.7.*), il vous faut la mettre à jour. ld.so.1.7.9 et ld.so.1.7.11 fonctionnent, mais pas les versions plus anciennes ni ld.so.1.7.10. Récupérez ld-so.1.7.14.tar.gz sur ftp://ftp.ods.com/linux/ .
Décompressez-le et détarez-le, puis lancez instldso.sh qui se trouve à la racine de l'arborescence ainsi créée.

Vous trouverez une bibliothèque Xpm adéquate sur ftp://sunsite.unc.edu/pub/Linux/libs/X/libXpm.3.4f-ELF.tar.gz .

4.4 Ai-je besoin de Netscape~? Puis-je l'utiliser~?

Netscape est indispensable, car HotJava n'est pas encore disponible pour les versions beta 1.0. Selon Randy Chapman,

Sun a fortement modifié l'interface awt dans le JDK et HotJava n'a pas encore été adapté. Sun a promis de le faire et la nouvelle version de HotJava devrait fonctionner parfaitement avec linux-jdk.
Aucune date n'a été annoncée.

Netscape supporte Java depuis la version 2.0b3. On le trouve sur ftp[1-7].netscape.com (i.e. sur ftp1.netscape.com, ftp2.netscape.com,... etc.). La version 2.0b4 permet de lire des applets depuis les URL de type file:, ce que ne permettait pas la version 2.0b3. Ceci devrait être d'un grand secours pour ceux qui ne disposent que de peu de mémoire (il n'est plus nécessaire de faire tourner un démon httpd). La version actuelle est la 2.0b6.

Le fichier à récupérer est : /2.0beta6/unix/netscape-v20b6a-export.i486-unknown-linux.tar.Z.

Notez que Netscape tourne aussi sur des systèmes a.out. Il est donc possible, en théorie, d'écrire une application Java, de la faire compiler par quelqu'un d'autre (comme par exemple BlackStar Public Compiler ), et d'en voir le résultat sur votre système. Si cela ne vous suffit pas, passez en ELF.

Assurez-vous que la variable d'environnement CLASSPATH ne soit pas positionnée lorsque vous lancez netscape~: cela a tendance à provoquer des plantages de celui-ci. Si vous suivez ces conseils, vous ne devriez pas avoir trop de problèmes.

La version Linux de netscape a quelques problèmes connus. D'une part, il n'y a pas de son. D'autre part, seul l'affichage en 8 bits fonctionne : l'affichage en 16 bits provoque des plantages. La version 2.0b3 est parfois sujette à des 'bus errors' lorsqu'elle fait appel à la fonction 'dispose' des frames.

Bien que relativement robuste (cela mis à part), elle ne résiste pas à l'applet 'Impressionism' de Gamelan.

4.5 Quels sont les newsgroups et mailing lists traitant de Java sur Linux~?


Chapitre suivant, Chapitre Précédent

Table des matières de ce chapitre, Table des matières générale

Début du document, Début de ce chapitre