kovzol/geogebra-discovery

Fix 3D View under Raspbian

Closed this issue · 1 comments

The files gluegen-rt-2.2.0-natives-linux-armv6hf.jar and jogl-all-2.2.0-natives-linux-armv6hf.jar are completely missing from the Raspbian version. They can be downloaded from https://jogamp.org/deployment/archive/rc/v2.2.0/jar/ (https://jogamp.org/deployment/archive/rc/v2.2.0/jar/gluegen-rt-natives-linux-armv6hf.jar and https://jogamp.org/deployment/archive/rc/v2.2.0/jar/jogl-all-natives-linux-armv6hf.jar), and after renaming them the program tries to load them, but this attempt is unsuccessful:

11:57:55.381 ERROR: org.geogebra.common.geogebra3D.euclidian3D.EuclidianView3D.logInited[347]: ******************* 3D View being initialized ********************************
11:57:55.382 ERROR: org.geogebra.common.geogebra3D.euclidian3D.EuclidianView3D.logInited[348]: ******************************************************************************
11:57:55.424 DEBUG: org.geogebra.desktop.geogebra3D.euclidian3D.opengl.RendererCheckGLVersionD.<init>[71]: create jogl -- use Canvas : true
11:57:55.432 DEBUG: org.geogebra.desktop.geogebra3D.euclidian3D.opengl.RendererCheckGLVersionD.<init>[73]: create jogl -- default profile
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.jogamp.common.os.NativeLibrary$3 (file:/home/pi/geogebra-discovery/fork/geogebra/desktop/build/install/desktop/lib/gluegen-rt-2.2.0.jar) to method java.lang.ClassLoader.findLibrary(java.lang.String)
WARNING: Please consider reporting this to the maintainers of com.jogamp.common.os.NativeLibrary$3
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
libEGL warning: DRI3: failed to query the version
libEGL warning: DRI2: failed to authenticate
11:57:56.505 DEBUG: org.geogebra.desktop.geogebra3D.euclidian3D.opengl.RendererCheckGLVersionD.<init>[78]: create 3D component -- use Canvas : true
11:57:56.535 DEBUG: org.geogebra.desktop.geogebra3D.euclidian3D.opengl.RendererCheckGLVersionD.<init>[82]: add gl event listener
11:57:56.535 DEBUG: org.geogebra.desktop.geogebra3D.euclidian3D.opengl.RendererCheckGLVersionD.<init>[85]: create animator
11:57:56.552 DEBUG: org.geogebra.desktop.geogebra3D.euclidian3D.opengl.RendererCheckGLVersionD.<init>[90]: start animator
11:57:56.557 DEBUG: org.geogebra.common.kernel.Kernel.printAttachedViews[3865]: Number of registered views = 4
 * class org.geogebra.desktop.geogebra3D.euclidianFor3D.EuclidianViewFor3DD
 * class org.geogebra.common.plugin.EventDispatcher
 * class org.geogebra.desktop.gui.view.algebra.AlgebraViewD
 * class org.geogebra.desktop.geogebra3D.euclidian3D.EuclidianView3DD
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: class javax.media.nativewindow.DefaultGraphicsConfiguration cannot be cast to class com.jogamp.nativewindow.awt.AWTGraphicsConfiguration (javax.media.nativewindow.DefaultGraphicsConfiguration and com.jogamp.nativewindow.awt.AWTGraphicsConfiguration are in unnamed module of loader 'app')
	at javax.media.opengl.awt.GLCanvas.chooseGraphicsConfiguration(GLCanvas.java:1421)
	at javax.media.opengl.awt.GLCanvas.addNotify(GLCanvas.java:630)
	at java.desktop/java.awt.Container.addNotify(Container.java:2800)
	at java.desktop/javax.swing.JComponent.addNotify(JComponent.java:4783)
	at java.desktop/java.awt.Container.addNotify(Container.java:2800)
	at java.desktop/javax.swing.JComponent.addNotify(JComponent.java:4783)
	at java.desktop/java.awt.Container.addImpl(Container.java:1146)
	at java.desktop/java.awt.Container.add(Container.java:997)
	at org.geogebra.desktop.gui.layout.DockPanelD.updatePanel(DockPanelD.java:796)
	at org.geogebra.desktop.geogebra3D.gui.layout.panels.EuclidianDockPanel3DD.updatePanel(EuclidianDockPanel3DD.java:123)
	at org.geogebra.desktop.gui.layout.DockManagerD.show(DockManagerD.java:728)
	at org.geogebra.desktop.gui.layout.DockManagerD.show(DockManagerD.java:524)
	at org.geogebra.desktop.gui.GuiManagerD.setShowView(GuiManagerD.java:764)
	at org.geogebra.desktop.gui.GuiManagerD.setShowView(GuiManagerD.java:757)
	at org.geogebra.desktop.gui.menubar.ViewMenuApplicationD$ShowViewAction.actionPerformed(ViewMenuApplicationD.java:200)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
	at java.desktop/javax.swing.JToggleButton$ToggleButtonModel.setPressed(JToggleButton.java:401)
	at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:369)
	at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1020)
	at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1064)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6632)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
	at java.desktop/java.awt.Component.processEvent(Component.java:6397)
	at java.desktop/java.awt.Container.processEvent(Container.java:2263)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Eventually an update to JOGL 2.4.0 would fix the problem.

After updating JOGL to 2.4.0-rc-20200202 this issue no longer persists.
Version 2020Mar03 is fixing this problem.