PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Java Installation Linux



Claudine
26-09-2003, 09:29
which java # ergibt bei mir
/usr/lib/java/jre/bin/java

which javac # leider kein Eintrag

Das Programm javac liegt bei mir unter
./usr/lib/SunJava2-1.3.1/jre/bin/i386/green_threads/javac

Habe danach in der .bashrc den Path mit aufgenommen.
Danach möchte ich meine erste Klasse kompilieren.

javac TestProg.java

und erhalte leider folgende Fehlermeldung
javac: error while loading shared libraries: libhpi.so: cannot open shared object file: No such file or directory

Die libhpi.so ist bei mir 2x vorhanden
./usr/lib/SunJava2-1.3.1/jre/lib/i386/green_threads/libhpi.so
./usr/lib/SunJava2-1.3.1/jre/lib/i386/native_threads/libhpi.so

nutzt leider auch nichts, wenn ich bei Verzeichnis in $PATH (.bashrc) mit aufnehme.
Ich erhalte trotzdem die Fehlermeldung. Muß ich die Rechte anders setzen?

In den Environment sind schon einige globale Java Variablen vorhanden.

JAVA_HOME=/usr/lib/java/jre
JAVA_ROOT=/usr/lib/java
JAVA_BINDIR=/usr/lib/java/jre/bin
JAVA_BINDIR=/usr/lib/java/jre/bin

Hat jemand eine Idee warum das Programm javac nur mit Fehler ausgeführt wird?

anda_skoa
26-09-2003, 10:16
Probier LD_LIBRARY_PATH zu setzen.

export LD_LIBRARY_PATH=/usr/lib/SunJava2-1.3.1/jre/lib/i386/green_threads/:$LD_LIBARY_PATH

Ciao,
_

Claudine
26-09-2003, 11:02
Original geschrieben von anda_skoa
Probier LD_LIBRARY_PATH zu setzen.

export LD_LIBRARY_PATH=/usr/lib/SunJava2-1.3.1/jre/lib/i386/green_threads/:$LD_LIBARY_PATH

Ciao,
_

Hab den Befehl in die .bashrc eingetragen, ergibt jetzt eine andere Fehlermeldung.

javac TestProg.java

javac: error while loading shared libraries: libjvm.so: cannot open shared object file: No such file or directory

which javac # wird jetzt gefunden

Die lib gibts 3x unter:
/usr/lib/SunJava2-1.3.1/jre/lib/i386/client/libjvm.so
/usr/lib/SunJava2-1.3.1/jre/lib/i386/server/libjvm.so
/usr/lib/SunJava2-1.3.1/jre/lib/i386/classic/libjvm.so

???
OS = Suse 8.1
Im Konqueror lassen sich Applets einwandfrei ausführen, nur der Compiler will nicht.

Dort habe ich
/usr/lib/SunJava2-1.3.1/jre/bin/java

als Pfad eingetragen.

anda_skoa
26-09-2003, 11:16
LD_LIBRARY_PATH zum Beispiel um den "client" Pfad erweitern.
Also /usr/lib/SunJava2-1.3.1/jre/lib/i386/client/

Ciao,
_

Claudine
26-09-2003, 11:37
Original geschrieben von anda_skoa
LD_LIBRARY_PATH zum Beispiel um den "client" Pfad erweitern.
Also /usr/lib/SunJava2-1.3.1/jre/lib/i386/client/

Ciao,
_

habe die beiden Zeilen eingetragen

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib/SunJava2-1.3.1/jre/lib/i386/green_threads/
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib/SunJava2-1.3.1/jre/lib/i386/client/

ergibt:

javac TestProg.java
Error: could not find Java 2 Runtime Environment.

anda_skoa
26-09-2003, 12:07
Hmm, tut mir leid, keine Idee mehr.

Ist schon komisch, dass das nicht korrekt eingebunden ist.
Sollte ansich normalerweise der Paketmanager erledigen.
Aber vielleicht hat Sun das Paket nicht gut gebaut, ich hatte bei dem Blackdown Paket von Debian eigentlich kein Problem.

Vielleicht hat einer der SuSE User hier eine Idee, sonst frag mal auf www.linuxforen.de

Ciao,
_

fs111
26-09-2003, 18:31
Hast Du es mal mit einer neueren Java Version probiert? Bei Redhat ist das so, dass seit 8.0 keine Java Version vor 1.4.2 funktioniert, weil die erst mit dem gcc 3 übersetzt wurden. Evtl. ist es ja bei Suse ähnlich.

fs111

peschmae
26-09-2003, 19:10
huh, ich glaub die neueren SuSEs verwenden auch Gcc3x

Vielleicht setzt du die Pfade mal so, dass "java" und so aus ./usr/lib/SunJava2-1.3.1/...etc verwendet wird evtl. gibts probleme weil das verschiedene Versionen sind??

Ich hatte mit Java nie probleme wie du (libs nicht gefunden und so).

Probier mal n neues (1.4.2 oder so)
ich musste afair nur PATH auf das bin-Dir mit "java" und "javac" setzen und CLASSPATH anpassen dass die rt.jar gefunden wird...

MfG Peschmä

Claudine
27-09-2003, 09:56
Gibt es den einen Befehl, um zu testen ob Java vollständig installiert ist?

java -version

ergibt bei mir

java version "1.3.1_04"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_04-b02)
Java HotSpot(TM) Client VM (build 1.3.1_04-b02, mixed mode)

Reicht das schon aus? Vielleicht ist von Suse bei der Standardinstallation nur eine abgespeckte Java Version installiert worden, damit die Applets in der Browsern funktionieren?

Hat jemand eine RPM Befehl parat mit dem ich überprüfen kann ob Packete fehlen?

peschmae
27-09-2003, 12:50
wenn das + Applets gehen dann hast du erstmal ne laufende JRE

aber für Javac & Co brauchst du n JDK - das hat dann auch gleich die entsprechende JRE in der nötigen version dabei.

Ich würd _wirklich_ mal das aktuellste jdk von sun (1.4.2) runterladen und das ältere 1.3 entfernen (oder zumindest aus den Pfaden schmeissen bzw 1.4.2 _davor_ einfügen)

1.3 ist recht alt und langsam. Deswegen händle ich die Java-Installation schon recht lange von hand - die Pakete sind immer ein bisserl veraltet.

MfG Peschmä