Avanti Indietro Indice

7. Note su Problemi Noti

7.1 Il Make di GNU non funziona più dopo l'installazione di Java.

Versioni recenti di libc correggono un baco che nascondeva un errore in GNU Make (il sintomo è che make non cerca più le regole in Makefile). Le note alla release 5.2.8 di libc contengono un patch che corregge il problema.

7.2 Errore: too many arguments'

La variabile CLASSPATH non è correttamente inizializzata. In .java_wrapper, c'è del codice simile a questo:

PRG=`which $0`
J_HOME=`dirname $PRG`/..

Sfortunatamente, il comando 'which' di linux è scorretto, e certe shell impostano $0 all'intero pathname. Randy Chapman dice di corregerlo sia usando:

J_HOME=`dirname $0`/..

che, in modo più sicuro:

J_HOME=/usr/local/java

Una correzione alternativa da Dave Dittrich è:

PRG=`csh -c "which $0"`

E un'altra da Tim Farnum è di cambiare la riga PRG=`which $0` con:

PRG=$0

Lutz Behnke suggerisce:

PRG=`type -path $0` >/dev/null 2>&1 

Un simile cambiamento deve essere fatto anche nello script appletviewer.

7.3 Errore: `cannot find class java/lang/Thread'

La variabile CLASSPATH non è correttamente inizializzata. Vedi sopra.

7.4 Un messaggio di errore si riferisce a /dev/zero

Da root eseguite chmod 666 /dev/zero.

7.5 SEGFAULT

Occasionalmente potreste trovarvi con lo schermo pieno di messaggi d'errore, e il sistema riempie allegramente la vostra area di swap e si blocca.

Probabilmente vi manca una libreria da qualche parte. Rilanciate ldconfig -v e guardate cosa manca. Forse LD_LIBRARY_PATH o CLASS_PATH non sono impostate. Infine, alcuni applet sono bacati o bloccano il JDK Linux.

(Ad ogni modo, potete fermare il blocco usando un'altra Xterm con top; usate top per killare il processo java prima che riempia la swap e che il sistema si blocchi!)

Java sembra richiedere un mucchio di risorse, così dovreste tenere il numero di applicazioni aperte nel desktop al minimo. Su un 486DX2/75 con 8MB di RAM e 16MB di swap sono in grado di lanciare due applet di animazione simultaneamente prima che il mio sistema riempia la swap e si impicchi. (ci mette un minuto, comunque).

7.6 bin/java, bin/javac, o bin/appletviewer vi danno un messaggio di help

avete dimenticato qualche parametro su una riga di comando.

7.7 Gli applet sono visibili nel viewer, ma non sul web.

Un errore comune che produce questo risultato consiste nello sbagliare il tipo MIME dell'applet. Il vostro server deve inviare un header con l'applet indicante che il tipo MIME è 'text/plain', 'application/octet-stream', o qualche altro tipo che non ha un gestore definito sul lato client. Come correggere questo dipende da quale server state usando. (John Franks)

E' stato inoltre riferito che tinyhttpd, un HTTP server scritto in Perl, fornisce un errato tipo di contenuto. Apache, invece, è piuttosto affidabile.

7.8 Log dei problemi

Joey Oravec ci dice che HotJava tiene traccia di ciò che fa e dei problemi che incontra. Se cercate di diagnosticare qualcosa da voi, guardate in $HOME/.hotjava/weblog. Quel file vi farà notare se forse vi manca una libreria o altro.


Avanti Indietro Indice