JDK

Aus Linupedia.org
Wechseln zu: Navigation, Suche

Installation von Java 1.5 JDK auf einem SuSE Rechner

Autor des Orginalbeitrags: oc2pus

Sofern für euren Rechner die gewünschte Java-Version nicht per fertiger Pakete vorliegen sollte, dann beim der Installation von Java 1.5 JDK auf einem SuSE Rechner wie folgend vorgehen.


Installations Ablauf

Utils und Hilfspakete

  • Falls jpackage-utils nicht auf DVD/CD vorhanden
download dieses RPM (bzw. des aktuell verfügbaren) jpackage-utils-X.X.X-1jpp.noarch.rpm von hier
Paketname zB. jpackage-utils-1.7.0-1jpp.noarch.rpm
Paket installieren
 
rpm -Uhv jpackage-utils-1.7.0-1jpp.noarch.rpm


  • Für einige Versionen zB SuSE 9.1 benötigtes Paket update-alternatives-.....jpp.noarch.rpm
download von hier
Paketname zB. update-alternatives-1.8.3-8jpp.noarch.rpm
Paket installieren
rpm -i update-alternatives-1.8.3-8jpp.noarch.rpm 


Java-1.5.0-sun-1.5...jpp.nosrc.rpm

  • Benötigtes Paket java-1.5.0-sun-1.5.....jpp.nosrc.rpm
download von h t t p://mirrors.sunsite.dk/jpackage/.../generic/non-free/SRPMS
Paketname zB. java-1.5.0-sun-1.5.0.08-1jpp.nosrc.rpm
Achtung: es gibt dort viele Pakete ähnlichen Namens, benötigt wird zwingend der Name java-1.5.0-sun-1.5.??-?jpp.nosrc.rpm wobei die ? für die genaue Update Version stehen, die installiert werden soll. Diese Paket enthält Installationsinformationen und muss zur Version passen. Sollte das passende Paket nicht gefunden werden hier nachlesen
Paket installieren
rpm -i java-1.5.0-sun-1.5.0.08-1jpp.nosrc.rpm

Warnungen: hier können einige Warnungen kommen, dass User auf dem System nicht bekannt sind.


Sun Development Kit

  • Benötigt das JDK-Paket von Sun
Startseite für Suche des gewünschen Files Sun Download
Downloadname Linux Platform - J2SE(TM) Development Kit 5.0 Update 8
Dateiname jdk-1_5_0-linux-i586.bin


Installationspakete erstellen

  • Heruntergeladene JDK-Datei verschieben
mv jdk-1_5_0-linux-i586.bin /usr/src/packages/SOURCES


  • Pakete erstellen
cd /usr/src/packages
rpm -bb SPECS/java-1.5.0-sun.spec

Achtung: Sollte das Kommando "rpm -bb ...." mit Fehler "-bb: unknown option" enden,
dann entweder nachfolgenden Befehl stattdessen ausführen oder im Abschnitt Fehlern nachlesen

rpmbuild -bb SPECS/java-1.5.0-sun.spec


  • Wenn Befehl abgearbeitet ist, liegen die neuen Java Pakete unterhalb /usr/src/packages/RPMS/
/usr/src/packages/RPMS/i586 # ls
.                                           java-1.5.0-sun-devel-1.5.0.08-1jpp.i586.rpm
..                                          java-1.5.0-sun-fonts-1.5.0.08-1jpp.i586.rpm
java-1.5.0-sun-1.5.0.08-1jpp.i586.rpm       java-1.5.0-sun-jdbc-1.5.0.08-1jpp.i586.rpm
java-1.5.0-sun-alsa-1.5.0.08-1jpp.i586.rpm  java-1.5.0-sun-plugin-1.5.0.08-1jpp.i586.rpm
java-1.5.0-sun-demo-1.5.0.08-1jpp.i586.rpm  java-1.5.0-sun-src-1.5.0.08-1jpp.i586.rpm


Installieren

  • Java Pakete Installieren
/usr/src/packages/RPMS/i586 # rpm -Uhv java*

Achtung: sollte dabei folgender Fehler auftreten:

 error: Failed dependencies:
        /usr/bin/ttmkfdir is needed by java-1.5.0-sun-fonts-1.5.0.08-1jpp
        /usr/sbin/chkfontpath is needed by java-1.5.0-sun-fonts-1.5.0.08-1jpp

siehe Fehlerbehebung


  • Nach der Installation nicht vergessen
SuSEconfig

aufrufen und ggfl. den Link für Firefox bzw Mozilla neu zu setzen.



SPEC-Datei anpassen

sollte die genaue Version der java-1.5.0-sun-1.5.0.08-1jpp.nosrc.rpm trotz intensivster Suche nicht gefunden werden, dann kann eventuell mit der Vorgänger Version dieses Paketes trotzdem sauber installiert werden.

Bei der Installation dieses Paketes wir die SPEC-Datei (/usr/src/packages/SPECS/java-1.5.0-sun.spec ) angelegt. Diese Datei kann angepasst werden. Wer täglich mit solchen Dateien zu tun hat, wird sich schnell zurechtfinden, allen anderen sei es nicht dringend empfohlen ohne tiefere Kenntnisse und ohne genaue Vorlage dort einfach planlos zu editieren.


ein Beispiel: es wird mit einer 1.5.0 Version der SPEC-Datei eine 1.5.0_01 ersetzt.

%define release 3jpp

wird zu geändert:

%define release 4jpp


%define toplevel_dir jdk%{javaver}

wird geändert:

%define toplevel_dir jdk%{javaver}_01


Source0: jdk-1_5_0-linux-i586.bin

wird geändert:

Source0: jdk-1_5_0_01-linux-i586.bin



noch ein Beispiel: es wird mit einer 1.5.0_07 Version der SPEC-Datei eine 1.5.0_08 ersetzt

%define buildver        07

wird auf Wert 08 geändert, sonst bleibt alles gleich, und funktioniert. ( Dieses wurde hier bei der aktuellen Zusammenstellung dieses HOWTOs verwendet, da eine 1.5.0_08 nicht aufzufinden war)


Fehler

  • Bei folgendem Fehler update-alternatives
Failed dependencies: /usr/sbin/update-alternatives is needed by java-1.5.0-sun-1.5.0-4jpp

Das Paket update-alternatives-1.?????jpp.noarch.rpm muss noch installiert werden



  • Fehlermeldung wegen Abhängikeiten bei sun-fonts:
<kages/RPMS/i586/java-1.5.0-sun-fonts-1.5.0-4jpp.i586.rpm';echo RESULT=$?
error: Failed dependencies:
/usr/bin/ttmkfdir is needed by java-1.5.0-sun-fonts-1.5.0-4jpp
/usr/sbin/chkfontpath is needed by java-1.5.0-sun-fonts-1.5.0-4jpp
RESULT=1

Fehler wegen sun-fonts ist auf vier Arten zu umgehen:

   * 1.) installiere das RPM mit rpm -i --nodeps .... (wenn du kein apt benutzt!)
   * 2.) lass das RPM weg, du brauchst es nur ganz, ganz selten
   * 3.) erstelle ein "virtuelles RPM" das diese beiden Programme der RPM Datenbank vorlügt Wie erstelle ich ein virtuelles RPM Paket ?
   * 4.) editiere das SPEC File und nimm diese falsche Abhängigkeit raus. 


Beispiel: Umbenennen des Paketes, damit wird vermieden, das das Paket mit rpm -Uhv java* gefunden wird und es wird so einfach nicht mitinstalliert.

    
/usr/src/packages/RPMS/i586 # mv java-1.5.0-sun-fonts-1.5.0.08-1jpp.i586.rpm  n-java-1.5.0-sun-fonts-1.5.0.08-1jpp.i586.rpm
Pingu:/usr/src/packages/RPMS/i586 # rpm -Uhv java*
Preparing...                ########################################### [100%]
   1:java-1.5.0-sun         ########################################### [ 14%]
   2:java-1.5.0-sun-alsa    ########################################### [ 29%]
   3:java-1.5.0-sun-demo    ########################################### [ 43%]
   4:java-1.5.0-sun-devel   ########################################### [ 57%]
   5:java-1.5.0-sun-jdbc    ########################################### [ 71%]
   6:java-1.5.0-sun-plugin  ########################################### [ 86%]
   7:java-1.5.0-sun-src     ########################################### [100%]



  • Fehler des Kommandos "rpm -bb ...."

Fehlermeldung: "-bb: unknown option"

entweder rpmbuild -bb anstatt des rpm Befehles benutzen
oder folgende Datei anlegen /etc/popt
Inhalt der Datei /etc/popt :

rpm     exec --bp               rpmb -bp
rpm     exec --bc               rpmb -bc
rpm     exec --bi               rpmb -bi
rpm     exec --bl               rpmb -bl
rpm     exec --ba               rpmb -ba
rpm     exec --bb               rpmb -bb
rpm     exec --bs               rpmb -bs
rpm     exec --tp               rpmb -tp
rpm     exec --tc               rpmb -tc
rpm     exec --ti               rpmb -ti
rpm     exec --tl               rpmb -tl
rpm     exec --ta               rpmb -ta
rpm     exec --tb               rpmb -tb
rpm     exec --ts               rpmb -ts
rpm     exec --rebuild          rpmb --rebuild
rpm     exec --recompile        rpmb --recompile
rpm     exec --clean            rpmb --clean
rpm     exec --rmsource         rpmb --rmsource
rpm     exec --rmspec           rpmb --rmspec
rpm     exec --target           rpmb --target
rpm     exec --short-circuit    rpmb --short-circuit

Siehe auch man rpm(8) Abschnitt Executing rpmbuild. Damit kann dann mit dem rpm Befehl die Aufgaben von rpmbild erledigt werden.



Zurück zu Programmierung