Library-trouble

Hi guys,



after days of been tortured by useless google results, i went to the source for searching help.



I have 1(maybe 2 different) problem using jme.



Pref:

macosx 10.5.8

carbon i guess

Eclipse Java EE IDE for Web Developers.(Version: 1.1.2.R35; Build id: 20100218-1602)

OS-java-version java version “1.6.0_17”

Eclipse-pref/Proj-pref -version: /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home

jme(last updated yesterday)

inbound libraries see pic below




  1. problem)

    Starting this code from inside the jme-project:


package jmetest.zzz_tests;

import com.jme.app.SimpleGame;
import com.jme.bounding.BoundingBox;
import com.jme.math.Vector3f;
import com.jme.scene.shape.Box;
import com.jme.scene.shape.StripBox;
import org.lwjgl.*; // <-- useless import, but shows "lib is there"

/*
 * test funktioniert
 */
public class BoxTest extends SimpleGame {

   @Override
   protected void simpleInitGame() {
      StripBox box = new StripBox("myBox", new Vector3f(),1,1,1);
      box.setModelBound(new BoundingBox());
      box.updateModelBound();
      rootNode.attachChild(box);

   }

   /**
    * @param args
    */
   public static void main(String[] args) {
      LWJGLUtil lwjglUtil = new LWJGLUtil(); //just for the show
      System.out.println(lwjglUtil);
      
      BoxTest test = new BoxTest();
      test.setConfigShowMode(ConfigShowMode.ShowIfNoConfig);
      test.start();
      
      
   }

}


generates the following issue:

org.lwjgl.LWJGLUtil@7ecec0c5
02.05.2010 12:32:24 com.jme.app.BaseGame start
INFO: Application started.
02.05.2010 12:32:24 com.jme.system.PropertiesGameSettings <init>
INFO: PropertiesGameSettings created
02.05.2010 12:32:24 com.jme.system.PropertiesGameSettings load
INFO: Read properties
02.05.2010 12:32:24 com.jme.app.BaseSimpleGame initSystem
INFO: jME2 Main Trunk @ Google Code
02.05.2010 12:32:24 com.jme.input.joystick.DummyJoystickInput <init>
INFO: Joystick support is disabled
02.05.2010 12:32:24 com.jme.system.lwjgl.LWJGLDisplaySystem <init>
INFO: LWJGL Display System created.
2010-05-02 12:32:24.559 java[1610:10b] [Java CocoaComponent compatibility mode]: Enabled
2010-05-02 12:32:24.560 java[1610:10b] [Java CocoaComponent compatibility mode]: Setting timeout for SWT to 0.100000
02.05.2010 12:32:24 class jmetest.zzz_tests.BoxTest start()
SCHWERWIEGEND: Exception in game loop
java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1792)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1045)
at org.lwjgl.Sys$1.run(Sys.java:72)
at java.security.AccessController.doPrivileged(Native Method)
at org.lwjgl.Sys.doLoadLibrary(Sys.java:65)
at org.lwjgl.Sys.loadLibrary(Sys.java:81)
at org.lwjgl.Sys.<clinit>(Sys.java:98)
at org.lwjgl.opengl.Display.<clinit>(Display.java:132)
at com.jme.system.lwjgl.LWJGLDisplaySystem.initDisplay(LWJGLDisplaySystem.java:438)
at com.jme.system.lwjgl.LWJGLDisplaySystem.createWindow(LWJGLDisplaySystem.java:144)
at com.jme.app.BaseSimpleGame.initSystem(BaseSimpleGame.java:381)
at com.jme.app.BaseGame.start(BaseGame.java:70)
at jmetest.zzz_tests.BoxTest.main(BoxTest.java:33)
02.05.2010 12:32:24 com.jme.app.BaseSimpleGame cleanup
INFO: Cleaning up resources.
02.05.2010 12:32:24 com.jme.app.BaseGame start
INFO: Application ending.
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class org.lwjgl.opengl.Display
at com.jme.system.lwjgl.LWJGLDisplaySystem.close(LWJGLDisplaySystem.java:314)
at com.jme.app.BaseGame.quit(BaseGame.java:117)
at com.jme.app.BaseSimpleGame.quit(BaseSimpleGame.java:614)
at com.jme.app.BaseGame.start(BaseGame.java:107)
at jmetest.zzz_tests.BoxTest.main(BoxTest.java:33)


the VM-arguments u see here:


Boxtest doesn't terminate and no GUI is shown.
I don't know what to do now.
all the other tests i wrote give the same issue.

Maybe 2. problem(or related))
starting the TestChooser.java gives

2010-05-02 12:42:21.966 java[1623:10b] [Java CocoaComponent compatibility mode]: Enabled
2010-05-02 12:42:21.967 java[1623:10b] [Java CocoaComponent compatibility mode]: Setting timeout for SWT to 0.100000
02.05.2010 12:42:22 jmetest.TestChooser start
INFO: Composing Test list...
02.05.2010 12:42:23 jmetest.TestChooser find
INFO: Searching for Demo classes in "jmetest".
2010-05-02 12:42:25.676 java[1623:c903] *** -[NSConditionLock unlock]: lock (<NSConditionLock: 0x1001eb300> '(null)') unlocked when not locked
2010-05-02 12:42:25.677 java[1623:c903] *** Break on _NSLockError() to debug.
2010-05-02 12:42:25.780 java[1623:c903] *** -[NSConditionLock unlock]: lock (<NSConditionLock: 0x1001ebfa0> '(null)') unlocked when not locked
2010-05-02 12:42:25.780 java[1623:c903] *** Break on _NSLockError() to debug.
2010-05-02 12:42:25.889 java[1623:c903] *** -[NSConditionLock unlock]: lock (<NSConditionLock: 0x1001ed120> '(null)') unlocked when not locked
2010-05-02 12:42:25.889 java[1623:c903] *** Break on _NSLockError() to debug.
2010-05-02 12:42:25.990 java[1623:c903] *** -[NSConditionLock unlock]: lock (<NSConditionLock: 0x1001ee840> '(null)') unlocked when not locked
2010-05-02 12:42:25.992 java[1623:c903] *** Break on _NSLockError() to debug.
2010-05-02 12:42:26.096 java[1623:c903] *** -[NSConditionLock unlock]: lock (<NSConditionLock: 0x1001221e0> '(null)') unlocked when not locked
2010-05-02 12:42:26.097 java[1623:c903] *** Break on _NSLockError() to debug.


Same as above: no GUI, no termination


Both files(as many other) worked as planed some days ago.
Hope u can help me out, cause my launch-deadline for the practical couse is running out.

dear regards
Silberr

You will have to add the path with the lwjgl native libraries as well, its in lib/lwjgl/native/macosx. Sometimes I have problems with Java software on Mac and adding natives to the classpath, then I just put them globally in /Library/Java/Extensions.



Cheers,

Normen

thx 4 answering   :slight_smile:



i tried at BoxTest

1.) adding macosx-lwjgl-lib-path to "JME required>>lwjgl.jar>>native" in puild path

—>Nothing changed

2.) adding macosx-lwjgl-lib-path to "lwjgl.jar>>native" in puild path

—>Nothing changed

1.) change VM-args "-Djava.library.path=${project_loc:jme}/lib/lwjgl/native/macosx/"

—>


org.lwjgl.LWJGLUtil@37d2068d
02.05.2010 21:08:59 com.jme.app.BaseGame start
INFO: Application started.
02.05.2010 21:09:00 com.jme.system.PropertiesGameSettings <init>
INFO: PropertiesGameSettings created
02.05.2010 21:09:00 com.jme.system.PropertiesGameSettings load
INFO: Read properties
02.05.2010 21:09:00 com.jme.app.BaseSimpleGame initSystem
INFO: jME2 Main Trunk @ Google Code
02.05.2010 21:09:00 com.jme.input.joystick.DummyJoystickInput <init>
INFO: Joystick support is disabled
02.05.2010 21:09:00 com.jme.system.lwjgl.LWJGLDisplaySystem <init>
INFO: LWJGL Display System created.
2010-05-02 21:09:00.302 java[1842:10b] [Java CocoaComponent compatibility mode]: Enabled
2010-05-02 21:09:00.304 java[1842:10b] [Java CocoaComponent compatibility mode]: Setting timeout for SWT to 0.100000
2010-05-02 21:09:00.904 java[1842:cf03] *** -[NSConditionLock unlock]: lock (<NSConditionLock: 0x125c4e0d0> '(null)') unlocked when not locked
2010-05-02 21:09:00.904 java[1842:cf03] *** Break on _NSLockError() to debug.
2010-05-02 21:09:01.005 java[1842:cf03] *** -[NSConditionLock unlock]: lock (<NSConditionLock: 0x1001de4b0> '(null)') unlocked when not locked
2010-05-02 21:09:01.006 java[1842:cf03] *** Break on _NSLockError() to debug.
2010-05-02 21:09:01.124 java[1842:cf03] *** -[NSConditionLock unlock]: lock (<NSConditionLock: 0x125c550e0> '(null)') unlocked when not locked
2010-05-02 21:09:01.124 java[1842:cf03] *** Break on _NSLockError() to debug.
02.05.2010 21:09:01 com.jme.renderer.lwjgl.LWJGLRenderer <init>
INFO: LWJGLRenderer created. W: 640 H: 480 Version: 2.3
2010-05-02 21:09:01.225 java[1842:cf03] *** -[NSConditionLock unlock]: lock (<NSConditionLock: 0x125c5e160> '(null)') unlocked when not locked
2010-05-02 21:09:01.237 java[1842:cf03] *** Break on _NSLockError() to debug.
2010-05-02 21:09:01.338 java[1842:cf03] *** -[NSConditionLock unlock]: lock (<NSConditionLock: 0x125c5e0f0> '(null)') unlocked when not locked
2010-05-02 21:09:01.339 java[1842:cf03] *** Break on _NSLockError() to debug.
02.05.2010 21:09:01 com.jme.app.BaseSimpleGame initSystem
INFO: Running on: null
Driver version: null
NVIDIA Corporation - NVIDIA GeForce 9400M OpenGL Engine - 2.0 NVIDIA-1.5.48
02.05.2010 21:09:01 com.jme.renderer.AbstractCamera <init>
INFO: Camera created.
02.05.2010 21:09:01 com.jme.util.lwjgl.LWJGLTimer <init>
INFO: Timer resolution: 1000 ticks per second
02.05.2010 21:09:01 com.jme.renderer.lwjgl.LWJGLTextureRenderer <init>
INFO: FBO support detected.
02.05.2010 21:09:01 com.jme.renderer.lwjgl.LWJGLTextureRenderer initCamera
INFO: Init RTT camera
02.05.2010 21:09:01 com.jme.renderer.AbstractCamera <init>
INFO: Camera created.
02.05.2010 21:09:01 com.jme.renderer.lwjgl.LWJGLTextureRenderer setupTexture
INFO: setup fbo tex with id 2: 640,360
02.05.2010 21:09:01 com.jme.renderer.lwjgl.LWJGLTextureRenderer <init>
INFO: FBO support detected.
02.05.2010 21:09:01 com.jme.renderer.lwjgl.LWJGLTextureRenderer initCamera
INFO: Init RTT camera
02.05.2010 21:09:01 com.jme.renderer.AbstractCamera <init>
INFO: Camera created.
02.05.2010 21:09:01 com.jme.renderer.lwjgl.LWJGLTextureRenderer setupTexture
INFO: setup fbo tex with id 3: 640,120


As u see, these issues are similar to the TestChooser-Issues.
The programm is running but without GUI.  :?
Neither i know what these CocoaComponent- and NSConditionLock-lines mean, nor where the NSConditionLock-lines will be created. I searched the whole system and all files for these string. Nothing.

hope u can help me solving this last problem

thx
Silberr

Are you using v2.0.1? Then you should get the latest lwjgl libraries from their homepage, I think there were some fixes for leopard in it.

Silberr

@faust

adding the libs as workspace-path didn’t changed anything yesterday, see above post

now i added the path as absolute path

—> now i dont need the VM-arg “-Djava.library.path=${project_loc:jme}/lib/lwjgl/native/macosx/”  :)



@normen

i guess its 2.0.1

here the svn-properties of jme



after that I downloaded the newest versions of lwjgl.jar and its native-libs into a external folder and bind it in instead of the old lwjgl.jar

–>issue stays the same as before





I have the suspicion that the “[Java CocoaComponent compatibility mode]”-lines are the reason for all the problems, cause the tests didnt show anythink like that

AND

they are  allways the first lines of the bad issues.

Hmm, I found the error(hope so)  :smiley:

my programs are running



my steps:

remove "org.eclipse.swt.carbon…jar" from eclipse-plugins

—>all 302 Errors in JMESWTTest.java appear

—>my prog running

add "org.eclipse.swt.cocoa…jar" from eclipse-plugins

—> no Errors shown

—> my prog isnt running

change in "swt.jar" from "jme>>lib>>swt>>macosx-carbon"

—> no Errors shown

—> my prog isnt running

change in "swt-fake.jar" from "jme>>lib>>swt>>macosx-cocoa"

—>3 Errors in LWJGLSWTCanvas.java appear

—>my prog running

change in "jme-swt.jar" from "~/Downloads/jME2/jME2_0_1-Stable/lib/" (gotten ~2 weeks ago)

—> my prog isnt running(TestChooser too)

—> many Errors in some some Classes

downloading jme2 from "http://jmonkeyengine.googlecode.com/files/jME2_0_1-Stable.zip"

change in "jme-swt.jar" from "<just downloaded JME2>/lib/"

—> my prog isnt running(TestChooser too)

—> many Errors in some some Classes

change in "swt.jar" from "<just downloaded JME2>/lib/lib/swt/macosx-carbon"

—> my prog isnt running

—> no Errors shown

change in "swt-fake.jar" from "<just downloaded JME2>/lib/lib/swt/macosx-cocoa"

—> my prog running

—> 3 Errors in LWJGLSWTCanvas.java appear





After this funny  session i decide for "swt-fake.jar" and hope that the last 3 Errors will never contact my progs.



thx for all the help :* :*

Silberr

http://www.jmonkeyengine.com/forum/index.php?topic=8556.0