Anfängerprobleme mit Hibiscus

 
Peter Pan
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 49
Dabei seit: 08 / 2009
Betreff:

Anfängerprobleme mit Hibiscus

 · 
Gepostet: 01.05.2013 - 17:51 Uhr  ·  #1
Hallo Leute,

ich versuche gerade Hibiscus unter Ubuntu 12.04 64bit zum laufen zu bringen. Installiert habe ich es aus dem PPA, es läuft auch, WENN ich das tmp Verzeichnis mittels "sudo mount -oremount,exec /tmp/" neu einbinde.
Da mir das auf Dauer zu umständlich erschien, legte ich in meinem Benutzerverzeichnis ein verstecktes tmp Verzeichnis an und jetzt läuft die Sache.(mit entsprechender Anpassung im Startscript)
Die Frage ist nur, ist das auch wirklich gut, kann man das so einfach handlen?
Was meint ihr?

Tschüss, der Peter
clio
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 374
Dabei seit: 07 / 2005
Betreff:

Re: Anfängerprobleme mit Hibiscus

 · 
Gepostet: 02.05.2013 - 14:44 Uhr  ·  #2
Hm, ich weiß nicht so recht...normalerweise gehört das in das Homeverzeichnis des Benutzers und nicht in die Systemverzeichnisse.
Ich würde auch auf jeden Fall die Version von der Homepage des Autors vorziehen.
Aber wenn es so läuft, das mußt Du selbst wissen, ob Du diese Konstellation behalten willst.
Peter Pan
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 49
Dabei seit: 08 / 2009
Betreff:

Re: Anfängerprobleme mit Hibiscus

 · 
Gepostet: 02.05.2013 - 19:16 Uhr  ·  #3
Zitat
normalerweise gehört das in das Homeverzeichnis des Benutzers und nicht in die Systemverzeichnisse.


meintest du damit das Programm an sich, oder die Benutzerdaten, also Konten usw.?

Letztere sind ordnungsgemäß unter ".jameica" angelegt. Ich habe aber gerade festgestellt, das mein schönes selbst erstelltes temporäres Verzeichnis gar nicht so temporär ist, da die swt-libs allesamt nach einem Neustart des Rechners noch da waren. Logisch eigentlich... :roll:

Aber auch mit der Homepage-Version tritt immer folgender Fehler auf:
Code
Exception in thread "main" java.lang.UnsatisfiedLinkError: Could not load SWT library. 


was sich , wie gesagt, nur beheben lässt, indem man dem normalem /tmp Verzeichnis explizit das ausführen erlaubt.
Ich frage mich nur warum, denn alle anderen Programme benutzen es doch schließlich auch tagtäglich?
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10868
Dabei seit: 03 / 2005
Betreff:

Re: Anfängerprobleme mit Hibiscus

 · 
Gepostet: 02.05.2013 - 22:54 Uhr  ·  #4
Das Problem ist SWT. Das ist die Grafik-Bibliothek, die von Jameica zum Zeichnen der Benutzeroberflaeche verwendet wird. http://www.eclipse.org/swt

Und damit SWT-Benutzeroberflaechen genauso aussehen, wie die anderen Anwendungen auf dem Desktop (und nicht wie ein Fremdkoerper, wie das sonst bei Java-Programmen oft der Fall ist), wird eine native Lib (unter Linux *.so, unter Windows *.dll) verwendet, die die Aufrufe an das native Grafiksystem (unter Linux z.Bsp. GTK) weiterreicht. Diese native Lib ist nicht im System vorinstalliert sondern wird von dem swt.jar mitgebracht. Da es aber nicht direkt aus der Jar-Datei geladen werden kann (man kann halt keine so/dll direkt aus einer ZIP-Datei verwenden), muss sie on-the-fly irgendwo entpackt werden. Und das ist halt normalerweise der Temp-Ordner. Und genau dafuer braucht SWT die executable-Berechtigung. Die ist nunmal noetig, um shared Libs zu laden.

Ich kann daran in Jameica leider nichts aendern. Das Problem betrifft auch nur Linux-Distributionen, bei denen /tmp mit noexec gemountet ist. Unter https://www.willuhn.de/bugzilla/show_bug.cgi?id=807 ist das Problem naeher geschildert und mit dem JVM-Parameter "-Djava.io.tmpdir=/dein/pfad" ein moeglicher Workaround beschrieben.
Peter Pan
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 49
Dabei seit: 08 / 2009
Betreff:

Re: Anfängerprobleme mit Hibiscus

 · 
Gepostet: 03.05.2013 - 07:32 Uhr  ·  #5
@hibiscus

genau da hatte ich schon gelesen und es wie beschrieben ausprobiert. :)
Ich kann also das ~/.tmp Verzeichnis vorerst lassen, ohne Sicherheitsbedenken haben zu müssen, verstehe ich das richtig? Und wenn die Bibliotheken nicht immer wieder gelöscht und beim Pogrammstart neu entpackt werden, macht das auch nichts?

Tschüss, der Peter
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10868
Dabei seit: 03 / 2005
Betreff:

Re: Anfängerprobleme mit Hibiscus

 · 
Gepostet: 03.05.2013 - 23:06 Uhr  ·  #6
Zitat geschrieben von Peter Pan
genau da hatte ich schon gelesen und es wie beschrieben ausprobiert. :)
Ich kann also das ~/.tmp Verzeichnis vorerst lassen, ohne Sicherheitsbedenken haben zu müssen, verstehe ich das richtig?


Naja, es waere schon schoener, wenn SWT auch ohne exec auf /tmp auskoemmen wuerde. Aber geht halt leider nicht anders. Von daher passt das schon.
Peter Pan
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 49
Dabei seit: 08 / 2009
Betreff:

Re: Anfängerprobleme mit Hibiscus

 · 
Gepostet: 05.05.2013 - 11:28 Uhr  ·  #7
wäre es dann nicht einfacher die Bibliotheken gleich innerhalb von jameica abzulegen, ohne über den /tmp Ordner zu gehen? Oder werden jeweils systemspezifisch nur die benötigten ausgepackt und es würde das Programm unnütz aufblähen?
oder, oder, oder... :D

nur so Interesse halber, nicht das ich Ahnung davon hätte ;)
clio
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 374
Dabei seit: 07 / 2005
Betreff:

Re: Anfängerprobleme mit Hibiscus

 · 
Gepostet: 05.05.2013 - 17:13 Uhr  ·  #8
Das meinte ich mit meinem Hinweis zum Homeverzeichnis des Users.
Etwas genauer erklärt:
Ich habe in meinem Homeverzeichnis einen Ordner für Programme, die ich nicht über den Paketmanager installiert habe. Also z.B. Firefox statt Iceweasel usw., hier heißt der Ordner Bank, darin befindet sich das Programm Jameica und das Plugin Hibiscus.
Das Homeverzeichnis wird anders gemountet als tmp, daher stellt sich das Problem nicht, und ich habe immer genauen Überblick über "Fremdprogramme". Dpkg installiert natürlich nach /usr/bin bzw. /usr/local oder /opt, ganz so, wie der Programmierer das festlegt. Dann befindet sich Jameica im Systemzweig, und wenn ein benötigtes Verzeichnis anders gemountet ist, passiert so was.
So sieht bei meinem Debian Sid der Pfad aus:
/home/MB/Progs/Bank/jameica/lib/swt/linux/swt.jar
Ich brauche also keinen Zugriff auf /tmp, da die Lib in meinem Home ist.

Kannst es ja mal so probieren.
Peter Pan
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 49
Dabei seit: 08 / 2009
Betreff:

Re: Anfängerprobleme mit Hibiscus

 · 
Gepostet: 05.05.2013 - 18:24 Uhr  ·  #9
Danke für den Tipp, aber eben das funktioniert ja scheinbar unter Ubuntu nicht wegen des als noexec eingehängten /tmp Verzeichnisses.
Ich hatte deinen Hinweis schon beherzigt und die Version der Entwicklerseite probiert, das Ergebnis war allerdings dasselbe, obwohl alle Dateien in meinem home Verzeichnis lagen.
Und da die installierten Dateien nicht, wie manch anderes Programm wild im System verstreut, sondern gut sortiert - bei mir - unter /usr/share/jameica residieren, kann ich da gut mit leben.
den Zugriff auf /tmp wirst auch du haben, da die swt.jar ansich noch rein gar nichts bewirkt. erst wenn sie ausgepackt ist und unter /swtlib-64(bei mir, da 64 bit) die ganzen libswt*.so Dateien liegen, geht's los. kannst ja mal bei laufendem Hibsicus eine such starten und schauen die Dateien bei dir abgelegt werden.
clio
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 374
Dabei seit: 07 / 2005
Betreff:

Re: Anfängerprobleme mit Hibiscus

 · 
Gepostet: 05.05.2013 - 20:12 Uhr  ·  #10
Zitat geschrieben von Peter Pan
... aber eben das funktioniert ja scheinbar unter Ubuntu nicht wegen des als noexec eingehängten /tmp Verzeichnisses.

Unter Debian wird das /tmp auch noexec gemountet und erscheint dann so:
drwxrwxrwt 8 root root 4096 Mai 5 19:48 tmp

Auch bei mir werden nach dem Start von Hibiscus im /tmp zwei Verzeichnisse angelegt, die dem User MB gehören:
drwxr-xr-x 2 MB MB 4096 Mai 5 19:48 hsperfdata_MB
drwxrwxrwx 2 MB MB 4096 Mai 5 19:49 swtlib-32
mit den darin befindlichen Libs
-rwxr-xr-x 1 MB MB 35932 Mai 5 19:48 libswt-atk-gtk-3650.so
-rwxr-xr-x 1 MB MB 40152 Mai 5 19:49 libswt-cairo-gtk-3650.so
-rwxr-xr-x 1 MB MB 11252 Mai 5 19:48 libswt-gtk-3650.so
-rwxr-xr-x 1 MB MB 368408 Mai 5 19:48 libswt-pi-gtk-3650.so

Alles wird mit 755 angelegt und ist daher für den User verfügbar.
Vergleiche doch mal bei Dir, evtl. stimmen nur die Rechte nicht.
Gewählte Zitate für Mehrfachzitierung:   0