Seite 1 von 1

ct-Sim startet nicht unter Linux

Verfasst: 06 Okt 2019, 17:18
von lenchen
Hallo,

nachdem ich mich jetzt (endlich) mal wieder etwas mit dem Bot beschäftigen wollte, hab ich festgestellt, dass der Simulator bei mir nicht mehr startet (verwende Linux). Es gibt verschiedene Fehlermeldungen je nach nach branch und java-version.

Die Version aus dem master-branch funktioniert letztlich gar nicht: mit openjdk 1.8.0 kommt

Code: Alles auswählen

com.jogamp.opengl.GLException: Not a GL2 implementation
mit openjdk 11 oder 13 kommt

Code: Alles auswählen

Inconsistency detected by ld.so: dl-lookup.c: 111: check_match: Assertion `version->filename == NULL || ! _dl_name_match_p (version->filename, map)' failed!
Nehme ich den Code aus dem develop branch, sieht es leicht anders aus: mit dem openjdk 1.8.0 geht immerhin ein Fenster auf und es wird eine Welt angezeigt, aber es fehlen alle Buttons und menüs usw. kann man also nicht benutzen.
Mit openjdk 11 und 13 kommt auch hier

Code: Alles auswählen

Inconsistency detected by ld.so: dl-lookup.c: 111: check_match: Assertion `version->filename == NULL || ! _dl_name_match_p (version->filename, map)' failed!
Ich kann auch gern noch die weiteren Fehlermeldungen posten, wenn das hilft?

Grüße
Lena

Re: ct-Sim startet nicht unter Linux

Verfasst: 06 Okt 2019, 18:55
von anonybot
Hi Lenchen,

das passt ja: Ich wollte die Tage eine GNU/Linux-VM (Debian) erstellen, die Neulingen die Einrichtung von Eclipse und ct-Sim erspart.

Zunächst: Welche Distri nutzt Du denn?

Re: ct-Sim startet nicht unter Linux

Verfasst: 06 Okt 2019, 19:17
von lenchen
Ah cool :)

Ich hatte es unter Fedora 30 ausprobiert mit Java openjdk 1.8, 11 und 13 aus dem Standard-Repo.

Grüße
Lena

Re: ct-Sim startet nicht unter Linux

Verfasst: 06 Okt 2019, 23:07
von eax
Hallo,

ja das ist leider ein bekanntes Problem, dass der Sim (genauer Java3D und zugehörige Libraries) mit neueren Linux-Distributionen nicht mehr funktioniert.

Das mitgelieferte jogl aus dem Branch master funktioniert mit neueren Mesa-Versionen nicht mehr, dagegen hilft der Branch develop, der einen preview-Build für jogl mitbringt, wo zumindest mal dieser Bug gefixt ist.
Mit Java 11, 12 oder 13 funktioniert die jogl-Library allerdings nicht, wenn das System eine neuere glibc-Version (2.29 oder 2.30) verwendet, weil der Loader dann mehr Checks ausführt. Der (wenig hilfreiche) Workaround, den man dazu so findet, ist man solle doch Java 8 verwenden...
Der Fehler, dass im Sim mit Java 8 dann Buttons und Menüs fehlen, kannte ich jetzt noch nicht, überrascht mich aber auch nicht wirklich, weil die älteren Versionen nicht besser sind, sondern nur weniger Checks beim Starten ausführen.

Es gibt da also leider keine Lösung, ich glaube Windows ist das einzige OS, wo eine aktuelle Version noch problemlos (soweit man in dem Kontext davon sprechen kann) mit dem ct-Sim funktioniert.

Langfristig sollte man vielleicht mal überlegen auf Gazebo umzusteigen.

Re: ct-Sim startet nicht unter Linux

Verfasst: 07 Okt 2019, 19:01
von lenchen
ach so, danke für die Erklärung!
ich kann mal schauen, ob ich das zumindest mit Java 1.8 noch etwas debuggt bekomme, da läuft es ja noch am weitesten.

Re: ct-Sim startet nicht unter Linux

Verfasst: 07 Okt 2019, 21:37
von lenchen
mir ist gerade noch aufgefallen, dass im develop Branch das Logging in ein Log-File nicht mehr funktioniert (in master funktioniert es noch):

Code: Alles auswählen

% java -jar ct-Sim.jar 
Can't load log handler "java.util.logging.FileHandler"
java.nio.file.NoSuchFileException: ./log/ctsim-0.log.lck

Re: ct-Sim startet nicht unter Linux

Verfasst: 07 Okt 2019, 23:18
von eax
lenchen hat geschrieben:
07 Okt 2019, 21:37
mir ist gerade noch aufgefallen, dass im develop Branch das Logging in ein Log-File nicht mehr funktioniert (in master funktioniert es noch):

Code: Alles auswählen

% java -jar ct-Sim.jar 
Can't load log handler "java.util.logging.FileHandler"
java.nio.file.NoSuchFileException: ./log/ctsim-0.log.lck
Oh danke für den Hinweis, das sollte jetzt gefixt sein (in master und develop, die Änderungen aus develop sind jetzt auch in master eingeflossen).