• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Eclipse startet nicht. Problem mit Java-HotSpot?

Calvin

Hacker
Ich habe mir unter SuSE10 Eclipse installiert. Aber weder mit apt noch mit dem Download von eclipse.org kann ich Eclipse starten :(

Die Konsole gibt folgende Fehlermeldung:
Code:
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  SIGSEGV (0xb) at pc=0x48c87ff8, pid=12320, tid=1075205824
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0_06-b05 mixed mode, sharing)
# Problematic frame:
# C  [libpangoft2-1.0.so.0+0x4ff8]  pango_fc_font_create_metrics_for_context+0x318
#
# An error report file with more information is saved as hs_err_pid12320.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#
Speicherzugriffsfehler

Java ist folgendes installiert:
Code:
tobi@linux:~> java -version
java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing)

Was hat diese Meldung zu bedeuten? Und wie kann ich das Problem lösen? Bin für jede Hilfe dankbar.
 
OP
C

Calvin

Hacker
*grübel* ich verstehe nicht genau, was du damit meinst. Ich habe das folgende pango-Paket installiert.

Code:
tobi@linux:~> rpm -qa | grep pango
pango-1.10.2-17

Dieses wird mir auch mit apt search libpangoft2-1.0.so ausgegeben.

Wenn ich mit apt nach pango suche, bekomme ich
Code:
tobi@linux:~> apt search pango
pango-debuginfo - Debug information for package pango
perl-Gtk2 - Gtk2 Perl module
gstreamer010-plugins-base - GStreamer Streaming-Media Framework Plug-Ins
gtk-sharp - .Net Language Bindings for GTK+ and GNOME
gtk-sharp-complete - GTK+ and GNOME bindings for Mono (virtual package)
gtk-sharp2 - .Net Language Bindings for GTK+ and GNOME
gtk-sharp2-complete - GTK+ and GNOME bindings for Mono (virtual package)
gtkmm2 - C++ Interface for GTK2 (a GUI library for X)
gtkmm24 - C++ Interface for GTK2 (a GUI library for X)
pango - System for Layout and Rendering of Internationalised Text
pango-devel - Include Files and Libraries mandatory for Development.
pango-doc - System for Layout and Rendering of Internationalised Text
python-gtk - Python bindings for the GTK+ widget set
xmms-plugins - XMMS plugins
ruby-pango - Ruby/Pango is a Ruby binding of pango-1.x
 
OP
C

Calvin

Hacker
Ich habe zuerst über apt installiert. Da das nicht funktionierte habe ich es wieder deinstalliert und das .tar.gz von der Eclipse-Homepage runtergeladen. Dieses habe ich in meinem Home-Verzeichnis entpackt und gestartet.

Ergebnis war bei beiden gleich :(
 

oc2pus

Ultimate Guru
Calvin schrieb:
Ich habe zuerst über apt installiert. Da das nicht funktionierte habe ich es wieder deinstalliert und das .tar.gz von der Eclipse-Homepage runtergeladen. Dieses habe ich in meinem Home-Verzeichnis entpackt und gestartet.

Ergebnis war bei beiden gleich :(

dann solltest du auch die libs verwenden die bei eclipse ausgeliefert werden.

also LD_LIBRARY_PATH=pfad-zu-den-swt-libs-von-eclipse:$LD_LIBRARY_PATH setzen
oder im java Aufruf folgendes ergänzen -Dsystem.library.path=pfad-zu-den-swt-libs-von-eclipse ...

wichtig ist das eclipse seine eigenen Libraries vor den anderen in deinem System findet! sonst passt das ganze nicht zusammen.
 
OP
C

Calvin

Hacker
Ich komme hier leider nicht weiter. Ich weiß nicht, ob ich den richtigen Pfad zu den swt-libs habe :( Ich habe nach Dateien gesucht, die swt im Namen habe. In zwei Unterverzeichnissen von eclipse bin ich fündig geworden. Diese Pfade habe ich der Variable hinzugefügt. Aber nach libs sahen die gefundenen Dateien nicht aus :-(

Nach weiterer Suche habe ich mir dann mal die motif-Version von eclipse.org runtergeladen. Diese läuft von Anfang an problemlos. Sieht aber so bescheiden aus, dass ich die nur im Notfall verwenden möchte :roll:

Die apt-Version von eclipse ist übrigens um eine Zeile gesprächiger. Neben der Fehlermeldung im ersten Posting erscheint noch folgendes:
Code:
/usr/bin/eclipse: line 45: 22646 Speicherzugriffsfehler  /usr/share/eclipse/eclipse $ECLIPSE_OPTS $@ $VM_OPTS

Ist das hilfreicher?

Gruß und vielen Dank für die Hilfe
Calvin

PS Wie bekomme ich Pfade wieder aus der Variable raus?
 

oc2pus

Ultimate Guru
das swt besteht i.d.R aus folgenden Dateien:
Code:
ls -al /usr/lib/eclipse/
insgesamt 849
drwxr-xr-x    2 root root    368 2006-02-17 16:30 .
drwxr-xr-x  136 root root  74816 2006-04-17 17:22 ..
-rw-r--r--    1 root root 194964 2006-01-18 23:35 libcairo.so.1
-rw-r--r--    1 root root  22500 2006-01-18 23:35 libswt-atk-gtk-3139.so
-rw-r--r--    1 root root   3612 2006-01-18 23:35 libswt-awt-gtk-3139.so
-rw-r--r--    1 root root  34212 2006-01-18 23:35 libswt-cairo-gtk-3139.so
-rw-r--r--    1 root root  11008 2006-01-18 23:35 libswt-gnome-gtk-3139.so
-rw-r--r--    1 root root 160024 2006-01-18 23:35 libswt-gtk-3139.so
-rw-r--r--    1 root root  75312 2006-01-18 23:35 libswt-mozilla-gtk-3139.so
-rw-r--r--    1 root root 276152 2006-01-18 23:35 libswt-pi-gtk-3139.so

d.h. bei mir sind die in /usr/lib/eclipse installiert (eigenes RPM)
==> -Djava.system.library.path=/usr/lib/eclipse

dazu kommt noch ein swt-gtk.jar, das ist bei mir in /usr/share/java installiert
==> -cp /usr/share/java/swt-gtk.jar

als "Trick" könntest du mein RPM jameica-swt3-gtk installieren, dann hättest du das swt-gtk-3.1.2 installiert ;)
 
OP
C

Calvin

Hacker
Ich kriege zwar mit jeder deiner Antworten neue Suchbegriffe für die Boardsuche und google, aber ich schaffe es trotzdem nicht, das Problem zu lösen :(

Ich habe jetzt sowohl das Paket libswt3-gtk2 als auch dein jameica-swt3-gtk installiert. Das Verzeichnis /usr/lib/eclipse sieht genauso aus wie bei dir.

d.h. bei mir sind die in /usr/lib/eclipse installiert (eigenes RPM)
==> -Djava.system.library.path=/usr/lib/eclipse

dazu kommt noch ein swt-gtk.jar, das ist bei mir in /usr/share/java installiert
==> -cp /usr/share/java/swt-gtk.jar

Wenn ich die gefundenen Beiträge richtig verstehe, dann muss ich das Kommando java -Djava.system.library.path=/usr/lib/eclipse -cp /usr/share/java/swt-gtk.jar ausführen :?: Damit bekomme ich aber immer nur die möglichen Optionen für das java-Kommando. Oder wie füge ich diese Option dazu?

Gruß
Tobi, dem offensichtlich das Basiswissen fehlt, um deine Hinweise richtig umzusetzen :(
 

oc2pus

Ultimate Guru
Calvin schrieb:
Wenn ich die gefundenen Beiträge richtig verstehe, dann muss ich das Kommando java -Djava.system.library.path=/usr/lib/eclipse -cp /usr/share/java/swt-gtk.jar ausführen :?: Damit bekomme ich aber immer nur die möglichen Optionen für das java-Kommando. Oder wie füge ich diese Option dazu?

das ist schon fast richtig.

es fehlt nun nur naoch das eigentliche eclips Startprogramm. Mit dem java Befehl setzt du die Parameter, damit werden die swt-libs gefunden und das swt.jar (die Graphik) und das Programm eclispe selbst fehlt noch, deshalb antwortet dir java immer mit dem Hinweis das noch was fehlt ...

Eclipse hat doch ein startprogramm "eclipse".

probiere mal folgendes script:
#!/bin/bash
export LD_LIBRARY_PATH=/usr/lib/eclipse
export CLASSPATH=<pfad zu swt.jar>
cd <verzeichnis wo dein eclipse steht>
eclipse
 
OP
C

Calvin

Hacker
Zunächst mal vielen Dank für deine Ausdauer :)

Die Pfade in dem Skript habe ich entsprechend angepasst, aber trotzdem kriege ich die gleiche Fehlermeldung :( und zwar unabhängig davon, ob ich die Version aus apt oder von eclipse.org starte.

Gruß
Tobi, der schon lange keine Ansatzideen mehr hat
 

oc2pus

Ultimate Guru
ich kann dir jetzt noch ein SPEC-file geben, damit kannst du dir dein eigenes eclipse bauen ...

Code:
%define name         eclipse
%define version      3.1M4
%define release      0.oc2pus.1
%define _prefix      /opt

Name:		%{name}
Summary:	eclipse %{version} Stream Stable Build
License:	see LICENSE
Group:		Development/Languages/Java
URL:		http://download2.eclipse.org/downloads/
Version:	%{version}
Release:	%{release}

Source0:	eclipse-examples-%{version}.zip
Source1:	eclipse-JDT-SDK-%{version}.zip
Source2:	eclipse-JDT-%{version}.zip
Source3:	eclipse-SDK-%{version}-linux-gtk.zip
Source4:	swt-%{version}-linux-gtk.zip

Packager:	oc2pus
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root
Prefix:		%{_prefix}
Requires:	java2 >= 1.4 java2-jre >= 1.4
Requires:	libstdc++ atk libart_lgpl libxml2 libgnomeui pango
Requires:	gconf2 zlib gtk2 libgnomecanvas linc
NoSource:	0
NoSource:	1
NoSource:	2
NoSource:	3
NoSource:	4

%description
eclipse 3.1M2 besteht aus den folgenden Projektdateien:

eclipse-examples-%{version}.zip
eclipse-JDT-SDK-%{version}.zip
eclipse-JDT-%{version}.zip
eclipse-SDK-%{version}-linux-gtk.zip
swt-%{version}-linux-gtk.zip

Diese Dateien downloaden von http://download2.eclipse.org/downloads/ und
nach /usr/src/packages/SOURCES kopieren. 
Das rpm wird erstellt mit rpm --rebuild %{name}-%{version}.nosrc.rpm

%prep
%setup -T -c -n %{name}-%{version}
unzip -o %{SOURCE0}
unzip -o %{SOURCE1}
unzip -o %{SOURCE2}
unzip -o %{SOURCE3}
 
cd %{name}
mkdir swt-3
cd swt-3
unzip -o %{SOURCE4}

%install
#[ -d %{buildroot} -a "%{buildroot}" != "" ] && rm -rf  %{buildroot}
mkdir -p  %{buildroot}%{_prefix}/%{name}/
for verz in configuration readme features plugins swt-3; do
	mv %{name}/$verz %{buildroot}%{_prefix}/%{name}/$verz
done
install -m 755 %{name}/%{name}     %{buildroot}/%{_prefix}/%{name}
install -m 644 %{name}/startup.jar %{buildroot}/%{_prefix}/%{name}
install -m 644 %{name}/icon.xpm    %{buildroot}/%{_prefix}/%{name}

%clean
[ -d %{buildroot} -a "%{buildroot}" != "" ] && rm -rf  %{buildroot}

%files
%defattr(-, root, root)
%{_prefix}/%{name}/*

%changelog
* Sun Dec 18 2004 oc2pus 3.1M4-0.oc2pus.1
- update to 3.1M4

* Sun Nov 06 2004 oc2pus 3.1M3-0.oc2pus.1
- update to 3.1M3

* Sun Oct 03 2004 oc2pus  3.1M2-0.oc2pus.1
- first release

d.h.
0.) du musst die Versione und/oder Release entsprechend anpassen
1.) du lädst die zip bzw tar.gz von der Homepage runter, kopierst sie nach /usr/src/packages/SOURCES.
2.) das spec-file als eclipse.spec nach /usr/src/packages/SPECS
kopieren
3.) cd /usr/src/packages
4.) rpmbuild -bb SPECS/eclipse.spec

ansonsten gehen mir die Ideen aus wie ich jemandem mit so geringen Kenntnissen eine eclipse Installation näher bringen soll, sorry
 
OP
C

Calvin

Hacker
Danke für das specs-File. Kompilieren verlief problemlos. Aber jetzt verlagert sich das Problem in eine andere Ecke *seufz*. Mir fehlt das Paket linc, von dem Eclipse nach deinem specs-File abhängt. Ich konnte dafür bislang nur bei rpmseek.de ein src.rpm für SuSE9.3 finden, das sich nicht von mir für SuSE10 neu erstellen läßt.
Code:
linc-protocols.c:612: error: static declaration of 'in6addr_any' follows non-static declaration
/usr/include/netinet/in.h:206: error: previous declaration of 'in6addr_any' was here
Weißt du, wo ich dieses Paket für SuSE10 herkriege? Wenn nicht, werde ich wegen des Neukompilierens einen neuen Thread aufmachen.

ansonsten gehen mir die Ideen aus wie ich jemandem mit so geringen Kenntnissen eine eclipse Installation näher bringen soll, sorry

Ist entschuldigt ;) Im allerschlimmsten Fall finde ich mich mit der motif-Version ab. Vielleicht gewöhnt man sich ja daran.
 
OP
C

Calvin

Hacker
Hi oc2pus,

du mögest mir verzeihen, dass ich gestern abend aufgegeben habe, ohne deine letzte Antwort abzuwarten. Ich habe mein (ohnehin noch relativ junfräuliches System) neu installiert und jetzt kann ich den Download von eclipse.org direkt und problemlos starten. Keine Ahnung, was da vorher nicht in Ordnung war.

Trotzdem vielen Dank für deine ausführliche Hilfe. Habe trotzdem jede Menge dabei gelernt :)

Gruß
Tobi
 

oc2pus

Ultimate Guru
Calvin schrieb:
...du mögest mir verzeihen, dass ich gestern abend aufgegeben habe, ohne deine letzte Antwort abzuwarten.
:)

Calvin schrieb:
Trotzdem vielen Dank für deine ausführliche Hilfe. Habe trotzdem jede Menge dabei gelernt :)
dann war es ja nicht umsonst.

Und du kannst dir ja jetzt immer dein eigenes eclipse RPM erstellen. DU hast es ja schon geübt.

Das hat ein paar Vorteile gegenüber der manuellen Installation. Du hast es ja jetzt geübt. (Wie du siehst ist das spec-File etwas älter, war eines meiner ersten Gehversuche... und bei SuSE 9.2 gab es noch das linc-Paket als Abhängigkeit)
 
Oben