JDK

Aus Linupedia.org
Wechseln zu: Navigation, Suche

Installation von Java 1.5 JDK auf einem SuSE Rechner

Autor des Orginalbeitrgs: 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 folgendes Vorgehen.


Installations Ablauf

jpackage-utils

  • 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 > 04-Nov-2005 23:19 50K
Paket installieren
 
rpm -Uhv jpackage-utils-1.7.0-1jpp.noarch.rpm


update-alternatives

  • Für einige Versionen zB SuSE 9.1 benötigtes Paket update-alternatives-.....jpp.noarch.rpm
download von hier
Paketname zB. jpackage-utils-1.7.0-1jpp.noarch.rpm
Paket installieren
rpm -i jpackage-utils-1.7.0-1jpp.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 http://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 die Installationsinformationen und muss zur Version passen. Eventuell hier nachlesen
Paket installieren
rpm -i java-1.5.0-sun-1.5.0.08-1jpp.nosrc.rpm


Sun Development Kit

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


Pakete 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
Sollte der "rpm -bb ...." mit Fehler "-bb: unknown option" enden, dann folgenden Befehl ausführen oder #Fehlerbehebung hier
rpmbuild -bb SPECS/java-1.5.0-sun.spec


  • Wenn Befehl durchgelaufen ist, dann liegen die neuen Java Pakete unter /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

  • Pakete Installieren
/usr/src/packages/RPMS/i586 # rpm -Uhv java*
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 hier


  • 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 vorhergehigen 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 zu editieren.

ein Beispiel: es wird mit einer 1.5.0 Version der SPECS-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 SPECS-Datei eine 1.5.0_08 ersetzt
%define buildver        07

wir auf Wert 08 gesetzt, sonst bleibt alles gleich, und funktioniert.


Fehler

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

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


  • Fehlermeldung:
<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 dir ein "virtuelles RPM" welches diese beiden Programme der RPM Datenbank vorlügt. Wie man "virtuelle RPMs" erstellt hier
   * 4.) editiere das SPEC File und nimm diese falsche Abhängigkeit raus. 

Beispiel Umbenennen und so nicht installieren:

    
/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 der "rpm -bb ...." endet in "-bb: unknown option"

entweder rpmbuild -bb verwenden statt rpm oder folgende Datei anlegen /etc/popt Inhalt von /etc/popt :

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

Damit kann jetzt rpm die Aufgaben von rpmbild in der Komandozeile mit übernehmen.


Thema aufgearbeitet und importiert Robi 22:33, 4. Sep 2006 (CEST)