JOGL не работает после переустановки Ubuntu - PullRequest
0 голосов
/ 06 июля 2011

У меня был полностью рабочий проект в Ubuntu 9 с Eclipse. Теперь я установил Ubuntu 10.10, получил резервную копию, скачал Eclipse и попытался запустить проект.

Папка проекта вообще не была изменена! Но теперь это не работает:

Исключение в потоке "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: нет gluegen-rt в java.library.path

Если я иду в «Свойства проекта> Путь сборки Java> Библиотеки», gluegen-rt.jar и jogl.jar присутствуют, и у меня нет ошибки компиляции (« import javax.media.opengl.GLAutoDrawable;"не имеет ошибок, поэтому классы загружаются правильно, я думаю)

Я тоже пытался установить JOGL из synaptic.

Здесь полная ошибка трассировки стека:

Исключение в потоке "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: нет gluegen-rt в java.library.path в java.lang.ClassLoader.loadLibrary (ClassLoader.java:1681) в java.lang.Runtime.loadLibrary0 (Runtime.java:840) в java.lang.System.loadLibrary (System.java:1047) в com.sun.gluegen.runtime.NativeLibLoader.loadLibraryInternal (NativeLibLoader.java:102) в com.sun.gluegen.runtime.NativeLibLoader.access $ 000 (NativeLibLoader.java:51) в com.sun.gluegen.runtime.NativeLibLoader $ 1.run (NativeLibLoader.java:70) в java.security.AccessController.doPrivileged (Native Метод) в com.sun.gluegen.runtime.NativeLibLoader.loadGlueGenRT (NativeLibLoader.java:68) в com.sun.gluegen.runtime.NativeLibrary.ensureNativeLibLoaded (NativeLibrary.java:399) в com.sun.gluegen.runtime.NativeLibrary.open (NativeLibrary.java:163) в com.sun.gluegen.runtime.NativeLibrary.open (NativeLibrary.java:129) в com.sun.opengl.impl.x11.DRIHack.begin (DRIHack.java:109) в com.sun.opengl.impl.x11.X11GLDrawableFactory. (X11GLDrawableFactory.java:99) at java.lang.Class.forName0 (Native Метод) в java.lang.Class.forName (Class.java:186) в javax.media.opengl.GLDrawableFactory.getFactory (GLDrawableFactory.java:111) в javax.media.opengl.GLJPanel.initialize (GLJPanel.java:889) в javax.media.opengl.GLJPanel.paintComponent (GLJPanel.java:488) в javax.swing.JComponent.paint (JComponent.java:1029) в javax.swing.JComponent.paintChildren (JComponent.java:866) в javax.swing.JComponent.paint (JComponent.java:1038) в javax.swing.JComponent.paintChildren (JComponent.java:866) в javax.swing.JComponent.paint (JComponent.java:1038) в javax.swing.JComponent.paintChildren (JComponent.java:866) в javax.swing.JComponent.paint (JComponent.java:1038) в javax.swing.JComponent.paintChildren (JComponent.java:866) в javax.swing.JComponent.paint (JComponent.java:1038) в javax.swing.JComponent.paintChildren (JComponent.java:866) в javax.swing.JComponent.paint (JComponent.java:1038) в javax.swing.JLayeredPane.paint (JLayeredPane.java:581) в javax.swing.JComponent.paintChildren (JComponent.java:866) в javax.swing.JComponent.paintToOffscreen (JComponent.java:5145) в javax.swing.BufferStrategyPaintManager.paint (BufferStrategyPaintManager.java:302) в javax.swing.RepaintManager.paint (RepaintManager.java:1145) в javax.swing.JComponent.paint (JComponent.java:1015) в java.awt.GraphicsCallback $ PaintCallback.run (GraphicsCallback.java:39) в sun.awt.SunGraphicsCallback.runOneComponent (SunGraphicsCallback.java:78) в sun.awt.SunGraphicsCallback.runComponents (SunGraphicsCallback.java:115) в java.awt.Container.paint (Container.java:1844) в javax.swing.RepaintManager.paintDirtyRegions (RepaintManager.java:751) в javax.swing.RepaintManager.paintDirtyRegions (RepaintManager.java:696) в javax.swing.RepaintManager.prePaintDirtyRegions (RepaintManager.java:676) в javax.swing.RepaintManager.access $ 700 (RepaintManager.java:57) вjavax.swing.RepaintManager $ ProcessingRunnable.run (RepaintManager.java:1550) в java.awt.event.InvocationEvent.dispatch (InvocationEvent.java:226) в java.awt.EventQueue.dispatchEventImpl (событие: 64).awt.EventQueue.access $ 000 (EventQueue.java:96) в java.awt.EventQueue $ 1.run (EventQueue.java:608) в java.awt.EventQueue $ 1.run (EventQueue.java:606) в java.security.AccessController.java: 275) в java.awt.EventDispatchThread.pumpEventsForFilter (EventDispatchThread.java:200) в java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.java:190) в java.awt.Thp.jpgjava.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:177) в java.awt.EventDispatchThread.run (EventDispatchThread.java:138)

Ответы [ 2 ]

1 голос
/ 10 февраля 2012

Это помогло мне понять, как заставить Eclipse использовать библиотеки обработки (http://processing.org) с OpenGL. Я знаю, что у обработки есть собственный редактор, но он не очень богатый функционал.

Итак, у меня была эта ошибка:

Exception in thread "Animation Thread" java.lang.UnsatisfiedLinkError: no gluegen-rt in java.library.path

, поэтому мне пришлось Щелкните правой кнопкой мыши в файле jogl.all.jar jar в «Project Explorer», Нажмите «Свойства», Нажмите «Собственная библиотека "и установите" Путь к местоположению ".

Путь к моему местоположению был:

/home/username/Desktop/processing-2.0a4/modes/java/libraries/opengl/library/linux32

После этого он работал отлично!

1 голос
/ 06 июля 2011

Я нашел проблему!

ЗАТМЕНИЕ СОХРАНИТЬ АБСОЛЮТНЫЙ ПУТЬ ВНЕШНИХ ФАБРИК

В свойствах вашего проекта eclipse -> Java Build Path, перейдите в свою библиотеку, найдите gluegen-rt.jar, разверните его, нажмите Native Library Location и введите местоположение для собственных библиотек, которые пришли с вашей загрузкой JOGL .

после переустановки Ubuntu я изменил структуру своей домашней папки.

...