PDA

View Full Version : Variabili d'ambiente JAVA


fbcyborg
19-06-2004, 10:47
Ciao a tutti,
ho già chiesto nel forum, ma ripongo il quesito in quanto se ne parlava nel topic "Grave problema su Linux Red Hat 9", e non sono riuscito a risolvere.

Ho instalato j2sdk1.4.2_02 nel suddetto OS.
In /etc/bashrc ho inserito le seguenti righe:

PATH=$PATH:/usr/java/j2sdk1.4.2_04/bin
JAVA_HOME=/usr/java/j2sdk1.4.2_04/
CLASSPATH =/usr/java/j2sdk1.4.2_04/jre/lib/i386
export PATH JAVA_HOME CLASSPATH

Premetto che come è ovvio, ho installato tutto in /usr/java/j2sdk1.4.2_04.

Allora:
javac funziona benissimo.
se digito java al terminale mi dice:
Error: could not find libjava.so
Error: could not find Java 2 Runtime Environment.
e appena ho aperto la shell la prima riga è:
bash: CLASSPATH: command not found.

CHE DIAVOLO SIGNIFICA?????
ma possibile che installare java2sdk sia così difficile?

Grazie a tutti in anticipo!
ciao!

Mason
19-06-2004, 10:59
quel CLASSPATH e dovuto al fatto che c'e uno spazio tra classpath e l =

cmq da java 2 mi pare che classpath non sia piu necessario per le classi di boot(io non l'ho mai usato se non per usare package esterni), io lo toglierei addirittura

io a dirti il vero usando sia jdk sia java3d non riscontro particolari problemi di utilizzo e non ho mai dovuto toccare nulla se non il path.

ps io quelle variabili d'ambiente le metterei in /etc/profile

fbcyborg
19-06-2004, 13:04
Ho fatto come dici tu....

se scrivo java al prompt mi dice sempre:
Error: could not find libjava.so
Error: could not find Java 2 Runtime Environment.


poi ho messo le seguenti righe sia in etc/profile che in bashrc:

PATH=$PATH:/usr/java/j2sdk1.4.2_04/bin
JAVA_HOME=/usr/java/j2sdk1.4.2_04/
CLASSPATH=/usr/java/j2sdk1.4.2_04/jre/lib/i386
export PATH JAVA_HOME CLASSPATH

insomma, ancora da problemi!

ciaooo!

kingv
19-06-2004, 15:00
CLASSPATH=/usr/java/j2sdk1.4.2_04/jre/lib/i386


te l'ha già detto Mason, togli questa riga che sono almeno 3-4 anni (da quando e' uscito Java 1.2) che non serve piu'

fbcyborg
20-06-2004, 11:45
Ciao!
peccato che non c'entra niente con il mio problema....
ogni volta che al prompt digito "java" ripete SEMPRE le stesse righe:
:muro: :muro: :muro: :muro: :muro:

# java
Error: could not find libjava.so
Error: could not find Java 2 Runtime Environment.

che cavolo è???
mi pare che questi files .so li ho già incontrati quando ho installato il java plug in in precedenza.. mancava appunto un link a questi files .so, e così non funzionava un bel nulla.

Mason
20-06-2004, 12:16
un conto e un link ad un jre un conto e un libjava.so

c'e un altro errore nelle variabili di shell, e quel / finale nel java_home, di solito le dir vengono considerate senza / finale, puoi provare a toglierlo

hai provato senza settare nessuna variabile e facendolo partire dalla sua sottodir bin?

l'hai scaricato dalla sun giusto?

cmq a me cerca di accedere a libjava.so sempre trovandolo


-<mason@aries:/dev/pts/3>--<1320:dom,20 giu 04>-------------</usr/lib/java/bin>-
-<Yes, Master?>-$strace ./java 2>&1|grep libjava
access("/usr/lib/j2sdk1.4.2_04/lib/i386/libjava.so", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/j2sdk1.4.2_04/jre/lib/i386/libjava.so", F_OK) = 0
access("/usr/lib/j2sdk1.4.2_04/lib/i386/libjava.so", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/j2sdk1.4.2_04/jre/lib/i386/libjava.so", F_OK) = 0
open("/usr/lib/j2sdk1.4.2_04/jre/lib/i386/libjava.so", O_RDONLY) = 3
open("/usr/lib/j2sdk1.4.2_04/jre/lib/i386/client/libjava.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/j2sdk1.4.2_04/jre/lib/i386/libjava.so", O_RDONLY) = 3
-<mason@aries:/dev/pts/3>--<1321:dom,20 giu 04>-------------</usr/lib/java/bin>-
-<Yes, Master?>-$



JAVA_HOME e settata sotto la dir del profile:

/etc/profile.d/j2sdk.csh:setenv JAVA_HOME /usr/lib/java
/etc/profile.d/j2sdk.sh:export JAVA_HOME=/usr/lib/java

infine questo e il mio path

/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games:/usr/X11R6/bin:/usr/lib/java/bin:/usr/lib/java/jre/bin:/usr/lib/qt/bin:.

fbcyborg
21-06-2004, 09:52
Originariamente inviato da Mason
un conto e un link ad un jre un conto e un libjava.so

c'e un altro errore nelle variabili di shell, e quel / finale nel java_home, di solito le dir vengono considerate senza / finale, puoi provare a toglierlo

ho provato a toglierlo, non cambia nulla....


hai provato senza settare nessuna variabile e facendolo partire dalla sua sottodir bin?
Sì ho provato e infatti funziona!!! ma la cosa strana è che javac è raggiungibile da qualunque path, invece java, anch'essa raggiungibile penso.. da quell'errore di quel file .so.


l'hai scaricato dalla sun giusto? Certamente si!!!!


cmq a me cerca di accedere a libjava.so sempre trovandolo


-<mason@aries:/dev/pts/3>--<1320:dom,20 giu 04>-------------</usr/lib/java/bin>-
-<Yes, Master?>-$strace ./java 2>&1|grep libjava
access("/usr/lib/j2sdk1.4.2_04/lib/i386/libjava.so", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/j2sdk1.4.2_04/jre/lib/i386/libjava.so", F_OK) = 0
access("/usr/lib/j2sdk1.4.2_04/lib/i386/libjava.so", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/j2sdk1.4.2_04/jre/lib/i386/libjava.so", F_OK) = 0
open("/usr/lib/j2sdk1.4.2_04/jre/lib/i386/libjava.so", O_RDONLY) = 3
open("/usr/lib/j2sdk1.4.2_04/jre/lib/i386/client/libjava.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/j2sdk1.4.2_04/jre/lib/i386/libjava.so", O_RDONLY) = 3
-<mason@aries:/dev/pts/3>--<1321:dom,20 giu 04>-------------</usr/lib/java/bin>-
-<Yes, Master?>-$


OK! ma perché mi mandi del codice C ??


JAVA_HOME e settata sotto la dir del profile:

/etc/profile.d/j2sdk.csh:setenv JAVA_HOME /usr/lib/java
/etc/profile.d/j2sdk.sh:export JAVA_HOME=/usr/lib/java

Scusami, questo non l'ho capito tanto bene, potresti spiegarmelo un po'
più dettagliatamente per favore?

Grazie per tutto!

Mason
21-06-2004, 13:25
il prob che il pacchetto java non e che si configuri, lo si prende, lo si installa e disolito funge.

con quei dati cerco di darti come funziona in un caso in cui java funziona

lo strace (quello in codice c) sono le system calls che il prg fa, quindi traccio quando cerca di aprire il libjava, potresti provare anche tu per vedere dove lo cerca e confrontarlo con la sua reale posizione

il profile era per dirti dove si trovava la java home sotto il mio sistema.


Sì ho provato e infatti funziona!!! ma la cosa strana è che javac è raggiungibile da qualunque path, invece java, anch'essa raggiungibile penso.. da quell'errore di quel file .so.


puoi chiarire questo?
in che senso funziona?
cmq javac non ha bisogno del runtime enviroment per fungere

ti consiglio di usare sia whereis sia locate, se non setti il path non dovrebbe trovare java.

sinceramente pero non so dirti precisamente l'errore, cercnado in rete e uscito o cose vecchie o cmq errori di distrazione, secondo me e molto vago come messaggio d'errore, dovresti magari indagare di +, spero qualcuno possa aiutarti in maniera piu efficace

fbcyborg
21-06-2004, 21:48
Si scusa, in effetti ho fatto un po' di confusione nello spiegarti il problema...
Appunto come dici tu javac non usa la runtime environement, quindi è ovvio che non dia problemi.
l'unica cosa, come ripeto è che quando lancio java da quel messaggio.
La mia affermazione è che cmq java è fra le variabili d'ambiente, altrimenti mi avrebbe detto "command not found" o roba del genere... ora sta soltanto a settare qualche cavolo in linux per non far uscire quel maledetto messaggio....

grazie mille ancora, per tutto!

ciao!

ma devo fare whereis libjava.so e/o locate libjava.so al prompt dei comandi????

Mason
21-06-2004, 22:41
lascia perdere i 2 cmd, cmq la possa volta prova, 2 cmd con dei nomi simili non fanno sicuramente male

ma senza nessuna di quelle varibili settate in env(tolte cioe sia da profile sia da bashrc, logout e poi login) e entrando in j2sdk.1.4.0*/bin e lanciando ./java ti rida lerrore?

io ti consiglio di fare uno strace per vedere dove lo cerca, se effetivamente non c'e li dove lo cerca, se questa posizione dipende dal dal java_home, e se facendo un soft link risolvi

strace 2>&1|grep libjava.so

cmq se devi cercare libjava.so per farci un link simbolico usa il locate

fbcyborg
22-06-2004, 23:03
scusa il ritardo nella risposta...

io il link simbolico lo farei anche, peccato che non so dove farlo!!!
:(

cmq, se lancio java dalla sua directory parte, ovviamente, ma da sempre lo stesso errore...

vedrò di provare questo strace va....

ma perché è così complicato sapere quali sono i precisi parametri per installare j2sdk e dove inserirli... eehhh.... linux... linux... non costi nulla in denaro, ma in fatica porca miseria.....

Mason
22-06-2004, 23:53
scusa guarda , visto che ormai e diventato un duetto, se vuoi continuamo in irc, proviamo 30 min, e se ti posso aiutare bene e finisce li.

se non posso ..... piu' che buona fortuna non so che dirti :)