JME2 doesn't run in Eclipse anymore

Hi



I didn't develop my game for a time, and now it won't start anymore. I'm using the latest

SVN-Version of JME2. Both the jme-project and my project got all the libraries etc. I use the

jars from the JME2 lib-folder, so I think it should work fine. The lwjgl.jar got also (in both projects)

the correct native libraries of the jme lib-folder. In addition, I use FengGUI, and I think thats

the whole problem because the exception is thrown within a method where FengGUI is used.

I had this problem before, somehow I fixed it, but now it doesn't seem to disappear…

Here is the Error-Log:


23.12.2008 16:51:46 com.jme.input.joystick.DummyJoystickInput <init>
INFO: Joystick support is disabled
23.12.2008 16:51:47 com.jme.system.lwjgl.LWJGLDisplaySystem <init>
INFO: LWJGL Display System created.
23.12.2008 16:52:10 com.jme.renderer.lwjgl.LWJGLRenderer <init>
INFO: LWJGLRenderer created. W:  800H: 600
23.12.2008 16:52:15 com.jme.renderer.AbstractCamera <init>
INFO: Camera created.
23.12.2008 16:52:21 com.jmex.audio.openal.OpenALSystem setupSourcePool
INFO: max source channels: 64
23.12.2008 16:52:22 com.jmex.game.state.GameStateManager create
INFO: Created GameStateManager
23.12.2008 16:52:22 com.jme.util.lwjgl.LWJGLTimer <init>
INFO: Timer resolution: 1000 ticks per second
23.12.2008 16:52:22 com.jme.scene.Node <init>
INFO: Node created.
23.12.2008 16:52:23 com.jme.scene.Node attachChild
INFO: Child (Ingame Mouse) attached to this node (Root Node)
Container.addWidget: Widget --- MainWindow ---
size    : (160, 300)
position: (40, 150)
minSize : (154, 191) {Container, Container} is already in the container (--- Display ---
size    : (800, 600)
position: (0, 0)
minSize : (0, 0) {MainWindow, CurrentProfileWindow})
23.12.2008 16:52:31 com.jmex.game.DefaultUncaughtExceptionHandler uncaughtException
SCHWERWIEGEND: Main game loop broken by uncaught exception
java.lang.NoClassDefFoundError: org/lwjgl/opengl/glu/GLU
   at org.fenggui.render.lwjgl.LWJGLOpenGL.setOrtho2D(Unknown Source)
   at org.fenggui.Display.display(Unknown Source)
   at gameStates.GUIState.render(GUIState.java:71)
   at com.jmex.game.state.GameStateNode.render(GameStateNode.java:83)
   at com.jmex.game.StandardGame.render(StandardGame.java:399)
   at com.jmex.game.StandardGame.run(StandardGame.java:251)
   at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: org.lwjgl.opengl.glu.GLU
   at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
   ... 7 more
AL lib: ALc.c:1255: exit() 1 device(s) and 1 context(s) NOT deleted
AL lib: alSource.c:2291: alcDestroyContext(): 64 Source(s) NOT deleted
E: thread-posix.c: Assertion 'pthread_setspecific(t->key, userdata) == 0' failed at pulsecore/thread-posix.c:194, function pa_tls_set(). Aborting.



Of course I searched in the forum here, but I didn't found anything that worked and these threads were all a bit
old I think. I hope you can help me with this :)

Looks like Feng is trying to use an LWJGL method that doesn't exist anymore. Did you try looking if there is a newer version of FengGUI?

llama said:

Looks like Feng is trying to use an LWJGL method that doesn't exist anymore. Did you try looking if there is a newer version of FengGUI?


There is no newer version. I read a thread here about LWJGL2 and FengGUI and that these two doesn't work
together, but I don't use LWJGL2, I use the version JME2 brings with it.

jME 2 uses a newer version of lwjgl than fengGUI. You will need to manually fix the imports in your fenggUI to use the newer lwjgl. There are only about 5 of them.

nymon said:

jME 2 uses a newer version of lwjgl than fengGUI. You will need to manually fix the imports in your fenggUI to use the newer lwjgl. There are only about 5 of them.


Ok, but I don't know where these imports are and where I have to search. Can you specify a bit? :)

if you want, you you can try the FengGUI jar i use:

http://code.google.com/p/jme-demos/source/browse/trunk/stardust/lib/FengGUI.jar



But basically, you can just check out FengGUI from svn and replace the lwjgl folder with the newest lwjgl version.

Then correct the project settings to use the new jar and fix the compile errors  in eclipse CTRL+SHIFt+O fixes the imports.

Your FengGUI-version has a lot less than the orginal version, so I can't use it. And I also took a look at

the SVN of FengGUI, and also there are missing files… So I really don't see how this should work, because

I'd have to change all my code (which is a lot now)… So what has happened to FengGUI? O.o

Wasserleiche said:

Ok, but I don't know where these imports are and where I have to search. Can you specify a bit? :)

You'll be working with the FengGUI source of course. In your FengGui project replace the lwjgl jar that came with FengGUI with the one that comes with jME. You'll then get some compiler errors. Fix the errors related to missing imports (about 5 or so) and you should be good to go. Also you can find around here a couple changes to make in the FengGUI input handler.

What sources of FengGUI do you mean? The one that can be downloaded at sourceforge, or the

SVN-sources? Because in the sources from sourceforge no *.jar files are included, and the SVN-sources

are completely different from the version you download at sourceforge.

I tried to create a project in eclipse and import the sources from the sourceforge-sources. Since there are

no jar-files, I added the lwjgl.jar from JME2 into the build-path of the FengGUI-Project. Now there are a lot

of compile-errors, and I can't fix any of them, because I don't know where these packages are now (and

they are a lot more than "about 5"). So what am I doing wrong?

Wow, finally I got it. I had to put also all the other jars from JME2 into the buildpath. Well, probably I

didn't had to put every jar, but at least it works now. But I have one more import-problem: Eclipse

doesn't find com.kitfox.svg.SVGDiagram, and I have no idea where to get this. It does also not give

me an alternative path for it. Fortunately it seems that I don't use this special code in my game (the

file is org.fenggui.util.SVGImageFactory.java), but it would be nicer to compile without errors :slight_smile:

Atleast it works now, so thank you for your help and your patient :slight_smile:

I never could figure out why it was needed for fengGUI, but here is the source for SVG Salamander…

https://svgsalamander.dev.java.net/



(They don’t have an available JAR to download, so I had to download from their SVN and build one myself; then add it to the fengGUI libraries…)