Ubuntu 22 NB14 JME 3.5.2 stable error

Hello All,

I am trying to build and run my project on my Linux Box and I get this error. I am using NB14, JDK18, and JME3.5.2 on my Windows box and runs fine. I used Oracles JDK18 on the Windows box and OpenJDK18 on Ubuntu.

Here is the error. I get to the settings screen and when I hit continue it errors out.


/usr/lib/jvm/java-18-openjdk-amd64
{DepthBits=24, MinHeight=0, DisableJoysticks=true, SwapBuffers=true, Resizable=false, CenterWindow=true, Height=480, BitsPerPixel=24, Width=640, UseRetinaFrameBuffer=false, UseInput=true, FrameRate=-1, Title=My Awesome Game, GammaCorrection=true, AudioRenderer=LWJGL, WindowXPosition=0, WindowYPosition=0, MinWidth=0, VSync=true, Samples=0, StencilBits=0, SettingsDialogImage=/com/jme3/app/Monkey.png, Renderer=LWJGL-OpenGL2, OpenCLPlatformChooser=com.jme3.opencl.DefaultPlatformChooser, Frequency=60, Fullscreen=false, OpenCL=false}
Jul 08, 2022 12:38:23 PM com.jme3.system.JmeDesktopSystem initialize
INFO: Running on jMonkeyEngine 3.5.2-stable
 * Branch: HEAD
 * Git Hash: 8ab3d24
 * Build Date: 2022-04-21
Inconsistency detected by ld.so: dl-lookup.c: 106: check_match: Assertion `version->filename == NULL || ! _dl_name_match_p (version->filename, map)' failed!
/home/syntheticprime/snap/netbeans/common/64/executor-snippets/run.xml:111: The following error occurred while executing this line:
/home/syntheticprime/snap/netbeans/common/64/executor-snippets/run.xml:68: Java returned: 127
BUILD FAILED (total time: 2 seconds)


Yeah, I think this can be fixed by using older Java, like 11. But better to switch to LWJGL 3. I bet you are using LWJGL 2 now.

Yeah, your ‘easy’ choices are to use lwjgl3 or to perform surgery on your lwjgl2 natives jar.

Locally I have patched my lwjgl-platform-2.9.3-natives.jar with the files I found here:

…extracted and repackaged.

Not for the inexperienced in such matters, I guess.

Hello All,

I downloaded this file

Is that file using LWJGL2? and not LWJGL3?

If it’s LWJGL2 how do I get that file as LWJGL3? Can you please post both version in the download section? this would be nice.

Thanks!

In the zip file there should be a jme3-lwjgl.jar (this uses lwjgl2) and a jme3-lwjgl3.jar (this uses lwjgl3). You should use jme3-lwjgl3.jar.

If you are using gradle build tool, you can switch to lwjgl3 by replacing

implementation "org.jmonkeyengine:jme3-lwjgl:$jmeVersion"

with

implementation "org.jmonkeyengine:jme3-lwjgl3:$jmeVersion"

inside the build.gradle file.

2 Likes

This link is for the engine SDK (Software Development kit), it has nothing to do with the engine, LWJGL is for operating your game graphics and window, if you aren’t using gradle in your game, you can add jars simply to your game.

Isn’t that the engine? I think it is.

Anyway if using Ant build still. Easiest way for getting Jars in my opinion is just to Google libraryname maven. You’ll find it in Maven central which of course instructs you to configure those properly with Maven/Gradle but also allows you to just download the Jars.

2 Likes

Thanks all for the help, but I can’t get this working. I copied the file from

and put the jar in the JME3.5.2 directory and took out the old lwjgl.jar and not I get this error…

From the dump the renderer is on v2 still?

{DepthBits=24, MinHeight=0, DisableJoysticks=true, SwapBuffers=true, Resizable=false, CenterWindow=true, Height=480, BitsPerPixel=24, Width=640, UseRetinaFrameBuffer=false, UseInput=true, FrameRate=-1, Title=My Awesome Game, GammaCorrection=true, AudioRenderer=LWJGL, WindowXPosition=0, WindowYPosition=0, MinWidth=0, VSync=true, Samples=0, StencilBits=0, SettingsDialogImage=/com/jme3/app/Monkey.png, Renderer=LWJGL-OpenGL2, OpenCLPlatformChooser=com.jme3.opencl.DefaultPlatformChooser, Frequency=60, Fullscreen=false, OpenCL=false}
Jul 09, 2022 10:20:43 AM com.jme3.system.JmeDesktopSystem initialize
INFO: Running on jMonkeyEngine 3.5.2-stable
 * Branch: HEAD
 * Git Hash: 8ab3d24
 * Build Date: 2022-04-21
Exception in thread "main" java.lang.NoClassDefFoundError: org/lwjgl/opengl/GLDebugMessageARBCallbackI
	at java.base/java.lang.Class.forName0(Native Method)
	at java.base/java.lang.Class.forName(Class.java:383)
	at java.base/java.lang.Class.forName(Class.java:376)
	at com.jme3.system.JmeDesktopSystem.newContextLwjgl(JmeDesktopSystem.java:202)
	at com.jme3.system.JmeDesktopSystem.newContext(JmeDesktopSystem.java:275)
	at com.jme3.system.JmeSystem.newContext(JmeSystem.java:174)
	at com.jme3.app.LegacyApplication.start(LegacyApplication.java:488)
	at com.jme3.app.LegacyApplication.start(LegacyApplication.java:442)
	at com.jme3.app.SimpleApplication.start(SimpleApplication.java:126)
	at jmetest.JMETest.main(JMETest.java:75)
Caused by: java.lang.ClassNotFoundException: org.lwjgl.opengl.GLDebugMessageARBCallbackI
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
	... 10 more
C:\Users\synth\AppData\Local\NetBeans\Cache\14\executor-snippets\run.xml:111: The following error occurred while executing this line:
C:\Users\synth\AppData\Local\NetBeans\Cache\14\executor-snippets\run.xml:68: Java returned: 1
BUILD FAILED (total time: 4 seconds)

I would like to request that the base JME3 with LWJGL2 and LWJGL3 be downloads on the front page for the ANT versions. I see the v3 has been in the engine for YEARS and the engine still uses v2 as the default… Please allow both.

Thanks!

Ok, two things. In the topic you state that you use jME 3.5.2. But the link you gave, Maven Central Repository Search, is for jME 3.3.2. Don’t mix and match the versions. Always use the same everywhere. You can switch that in Maven Central.

And what comes to LWJGL 2 vs LWJGL 3, it is not that simple. You can request all you want. But most likely you would need to help to get that happen :smiley: It is not exactly walk in the park. Let’s say that for a project starting now I’d use LWJGL 3 no questions asked. But for the engine… it is trickier than that. Current status is good I’d say, that you can do this easily for your own project and the engine allows you to do it and nothing bad will ever happen. Still some way to go for it to be an engine default.

Ops sorry, forum topics got tweaked together :sweat_smile:.

I see, but this isn’t 100% true, I did that for bullet which is 3.2.2 and will not compile with 3.5.2

I did get my Linux Box to compile now and my OSX x86-64 Mac Mini to compile and run. The last issue is the MBP M1 will not.