Diese Lösung stammt aus meinem identischen Beitrag im Matlab-Forum. Wie andere im Matlab-Forum herausgefunden haben, scheint dies ein Fehler in jogl
Bezug auf die Erkennung der Mesa-Treiber durch das Übereinstimmen von "Gallium" in der glRenderer-Zeichenfolge zu sein. Die Mesa-Leute haben anscheinend kürzlich eine Änderung in der Berichterstattung über den Open-Source-Treiber / die Version vorgenommen.
Schritt 1 (unten) muss nur einmal ausgeführt werden, während die Schritte 2, 3, 4 für jede auf Ihrem Computer installierte Version von Matlab ausgeführt werden müssen.
- Installieren Sie die libjogl2-Bibliothek mit bleeding-Rand:
#Add Xenial-Vorgeschlagenes Repository (erforderlich ab Feb. 2018) sudo sh -c "echo" deb http://archive.ubuntu.com/ubuntu/ \ Von Xenia vorgeschlagenes eingeschränktes Multiversum-Universum '\ > /etc/apt/sources.list.d/xenial-proposed.list " sudo apt update -y # INSTALLIEREN SIE NUR DIE FOLGENDEN von Xenia-vorgeschlagenen! # (Sie möchten nicht ALLE Pakete auf den neuesten Stand bringen) sudo apt install -y libjogl2-java / xenial-vorgeschlagene #includes libjogl2-jni # ENTFERNEN SIE XENIAL-PROPOSED, um unerwünschte Aktualisierungen an anderen Paketen zu vermeiden sudo rm /etc/apt/sources.list.d/xenial-proposed.list sudo apt update -y
- Umbenennen von C ++ - Standardbibliotheksdateien (wird oben in der Frage wiederholt). Dadurch wird sichergestellt, dass die Grafiktreiber mit der gleichen Standardbibliothek geladen werden, die sie benötigen, und nicht die, mit der Matlab geliefert wird.
cd $ matlabroot / sys / os / glnxa64 mv libstdc ++. so.6 libstdc ++. so.6.bak mv libstdc ++. so.6.0.20 libstdc ++. so.6.0.20.bak
Ändern Sie die
classpath.txt
undlibrarypath.txt
Dateien in$matlabroot/toolbox/local
. Mit meinen ursprünglichen Pfaden erweitert sich dieser Pfad zu/opt/local/MATLAB/R2017b/toolbox/local
- In
classpath.txt
finden und die beiden folgenden Zeilen auf Kommentar:
- In
$ matlabroot / java / jarext / gluegen-rt.jar $ matlabroot / java / jarext / jogl-all.jar
Und ersetzen Sie sie durch Folgendes
/usr/share/java/jogl2.jar /usr/share/java/gluegen2-rt.jar
- In
librarypath.txt
eine neue Zeile am Ende der Datei hinzufügen, mit
/ usr / lib / jni
- Gemäß dem oben angegebenen Originalskript sollte Matlab jetzt fehlerfrei ausgeführt werden. Um sicherzustellen, dass die standardmäßig enthaltenen Bibliotheken nicht stören, benennen Sie die folgenden Bibliotheken in um
$matlabroot/bin/glnxa64
:
cd $ matlabroot / bin / glnxa64 sudo mv libjogl_desktop.so libjogl_desktop.so.bak sudo mv libgluegen-rt.so libgluegen-rt.so.bak sudo mv libnativewindow_awt.so libnativewindow_awt.so.bak sudo mv libnativewindow_x11.so libnativewindow_x11.so.bak
Schließlich in $matlabroot/toolbox/local/classpath
benennen Sie die 3p_jogl
Datei:
cd $ matlabroot / toolbox / local / classpath sudo mv 3p_jogl.jcp 3p_jogl.jcp.bak
Und das ist es! Problem gelöst! Hoffentlich werden diese von Xenial vorgeschlagenen Pakete in nicht allzu ferner Zukunft an den stabilen Zweig geliefert.