"Testing jME" Problems

I am running the latest version of Kubuntu, and I am even doing this using gcvs (Linux equivalent of the WinCVS in the tutorial), Ant is running, everything seemed to be fine until…


sockopen@sockopen-desktop:~/jme$ ant dist-all
Buildfile: build.xml

init:
    [echo] jmeKeyStore

compile:
    [javac] Compiling 1387 source files to /home/sockopen/jme/build
    [javac] /home/sockopen/jme/src/com/jme/math/Matrix3f.java:1126: warning: unmappable character for encoding UTF8
    [javac]      * @see "Tomas M�ller, John Hughes "Efficiently Building a Matrix to Rotate
    [javac]                    ^
    [javac] /home/sockopen/jme/src/com/jme/scene/geometryinstancing/GeometryBatchInstance.java:47: warning: unmappable character for encoding UTF8
    [javac]  * @author Patrik Lindegr�n
    [javac]                          ^
    [javac] /home/sockopen/jme/src/com/jme/scene/geometryinstancing/GeometryBatchInstanceAttributes.java:42: warning: unmappable character for encoding UTF8
    [javac]  * @author Patrik Lindegr�n
    [javac]                          ^
    [javac] /home/sockopen/jme/src/com/jme/scene/geometryinstancing/instance/GeometryBatchCreator.java:42: warning: unmappable character for encoding UTF8
    [javac]  * @author Patrik Lindegr�n
    [javac]                          ^
    [javac] /home/sockopen/jme/src/com/jme/scene/geometryinstancing/instance/GeometryInstance.java:40: warning: unmappable character for encoding UTF8
    [javac]  * @author Patrik Lindegr�n
    [javac]                          ^
    [javac] /home/sockopen/jme/src/com/jme/scene/geometryinstancing/instance/GeometryInstanceAttributes.java:42: warning: unmappable character for encoding UTF8
    [javac]  * @author Patrik Lindegr�n
    [javac]                          ^
    [javac] /home/sockopen/jme/src/com/jme/scene/state/lwjgl/LWJGLLightState.java:358: warning: unmappable character for encoding UTF8
    [javac]            // with a call to glLightfv(GL_LIGHT_POSITION,�). If you later change
    [javac]                                                          ^
    [javac] /home/sockopen/jme/src/com/jme/scene/state/lwjgl/LWJGLLightState.java:362: warning: unmappable character for encoding UTF8
    [javac]            // light�s position, you must again specify the light position with a
    [javac]                    ^
    [javac] /home/sockopen/jme/src/com/jme/scene/state/lwjgl/LWJGLLightState.java:363: warning: unmappable character for encoding UTF8
    [javac]            // call to glLightfv(GL_LIGHT_POSITION,�).
    [javac]                                                    ^
    [javac] /home/sockopen/jme/src/com/jme/scene/state/lwjgl/LWJGLLightState.java:378: warning: unmappable character for encoding UTF8
    [javac]            // with a call to glLightfv(GL_LIGHT_POSITION,�). If you later change
    [javac]                                                          ^
    [javac] /home/sockopen/jme/src/com/jme/scene/state/lwjgl/LWJGLLightState.java:382: warning: unmappable character for encoding UTF8
    [javac]            // light�s position, you must again specify the light position with a
    [javac]                    ^
    [javac] /home/sockopen/jme/src/com/jme/scene/state/lwjgl/LWJGLLightState.java:383: warning: unmappable character for encoding UTF8
    [javac]            // call to glLightfv(GL_LIGHT_POSITION,�).
    [javac]                                                    ^
    [javac] /home/sockopen/jme/src/com/jmex/subdivision/SubdivisionButterfly.java:53: warning: unmappable character for encoding UTF8
    [javac]  * 'Interpolating Subdivision for Meshes with Arbitrary Topology', Denis Zorin, Peter Schr�der, Wim Sweldens. Computer Graphics, Ann. Conf. Series, vol. 30, pp. 189-192, 1996.<br>
    [javac]                                                                                          ^
    [javac] /home/sockopen/jme/src/com/jmex/terrain/util/FluidSimHeightMap.java:46: warning: unmappable character for encoding UTF8
    [javac] * @author Frederik B�lthoff
    [javac]                    ^
    [javac] /home/sockopen/jme/src/com/jmex/terrain/util/HillHeightMap.java:45: warning: unmappable character for encoding UTF8
    [javac]  * @author Frederik B�lthoff
    [javac]                      ^
    [javac] /home/sockopen/jme/src/com/jme/system/DisplaySystem.java:41: warning: sun.misc.Service is Sun proprietary API and may be removed in a future release
    [javac] import sun.misc.Service;
    [javac]                ^
    [javac] /home/sockopen/jme/src/com/jme/system/DisplaySystem.java:42: warning: sun.misc.ServiceConfigurationError is Sun proprietary API and may be removed in a future release
    [javac] import sun.misc.ServiceConfigurationError;
    [javac]                ^
    [javac] /home/sockopen/jme/src/com/jme/system/DisplaySystem.java:187: warning: sun.misc.ServiceConfigurationError is Sun proprietary API and may be removed in a future release
    [javac]            throws ServiceConfigurationError {
    [javac]                    ^
    [javac] /home/sockopen/jme/src/com/jme/system/DisplaySystem.java:189: warning: sun.misc.Service is Sun proprietary API and may be removed in a future release
    [javac]            Iterator displayProviders = Service.providers(SystemProvider.class);
    [javac]                                        ^
    [javac] /home/sockopen/jme/src/com/jme/util/logging/BetterFormatter.java:22: warning: sun.security.action.GetPropertyAction is Sun proprietary API and may be removed in a future release
    [javac]            .doPrivileged(new sun.security.action.GetPropertyAction(
    [javac]                                                  ^
    [javac] /home/sockopen/jme/src/com/jmex/xml/types/SchemaBase64Binary.java:57: warning: sun.misc.BASE64Decoder is Sun proprietary API and may be removed in a future release
    [javac]        value = new sun.misc.BASE64Decoder().decodeBuffer(newvalue);
    [javac]                            ^
    [javac] /home/sockopen/jme/src/com/jmex/xml/types/SchemaBase64Binary.java:85: warning: sun.misc.BASE64Encoder is Sun proprietary API and may be removed in a future release
    [javac]    String sResult = new sun.misc.BASE64Encoder().encode(value);
    [javac]                                  ^
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
    [javac] 22 warnings


A few encoding errors, but the build was a success, next step:

compile-test:
    [javac] Compiling 249 source files to /home/sockopen/jme/build
    [javac] /home/sockopen/jme/src/jmetest/input/VTextIcon.java:258: warning: unmappable character for encoding UTF8
    [javac]      * employ a horizontal baseline that is rotated by 90� counterclockwise so
    [javac]                                                          ^
    [javac] /home/sockopen/jme/src/jmetest/input/VTextIcon.java:260: warning: unmappable character for encoding UTF8
    [javac]      * numbers may be rotated 90� clockwise so that the characters are also
    [javac]                                ^
    [javac] /home/sockopen/jme/src/jmetest/scene/geometryinstancing/TestGeometryInstancing.java:67: warning: unmappable character for encoding UTF8
    [javac]  * @author Patrik Lindegr�n
    [javac]                          ^
    [javac] /home/sockopen/jme/src/jmetest/terrain/TestFluidSimHeightmap.java:55: warning: unmappable character for encoding UTF8
    [javac] * @author Frederik B�lthoff
    [javac]                    ^
    [javac] /home/sockopen/jme/src/jmetest/terrain/TestHillHeightmap.java:54: warning: unmappable character for encoding UTF8
    [javac]  * @author Frederik B�lthoff
    [javac]                      ^
    [javac] Note: /home/sockopen/jme/src/jmetest/TestChooser.java uses unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
    [javac] 5 warnings


Warnings never hurt anyone, right?

Anyways, next step:

Failed to load Main-Class manifest attribute from
/home/sockopen/jme/lib/jogg-0.0.7.jar
Failed to load Main-Class manifest attribute from
/home/sockopen/jme/lib/jorbis-0.0.15.jar
Failed to load Main-Class manifest attribute from
/home/sockopen/jme/target/jme.jar
Failed to load Main-Class manifest attribute from
/home/sockopen/jme/target/jme-awt.jar
Failed to load Main-Class manifest attribute from
/home/sockopen/jme/target/jme-effects.jar
Failed to load Main-Class manifest attribute from
/home/sockopen/jme/target/jme-model.jar
Failed to load Main-Class manifest attribute from
/home/sockopen/jme/target/jme-audio.jar
Failed to load Main-Class manifest attribute from
/home/sockopen/jme/target/jme-terrain.jar
20-Feb-2008 2:05:40 AM jmetest.TestChooser start
INFO: Composing Test list...
Exception in thread "main" java.lang.NoClassDefFoundError: org/lwjgl/Sys
        at jmetest.TestChooser.start(Unknown Source)
        at jmetest.TestChooser.main(Unknown Source)
Failed to load Main-Class manifest attribute from
/home/sockopen/jme/target/jmetest-data-model.jar
Failed to load Main-Class manifest attribute from
/home/sockopen/jme/target/jmetest-data-images.jar
Failed to load Main-Class manifest attribute from
/home/sockopen/jme/target/jmetest-data-skybox1.jar
Failed to load Main-Class manifest attribute from
/home/sockopen/jme/target/jmetest-data-sound.jar
Failed to load Main-Class manifest attribute from
/home/sockopen/jme/target/jmetest-data-texture.jar


So, I'm hoping it's a blatant error on my behalf, since I would much rather install this on my desktop than my Windows laptop. Any and all help is appreciated, thanks in advance.

Looks like you are missing lwjgl.jar in your classpath?

java -Djava.library.path=./lib -cp ./lib/lwjgl.jar;./lib/jogg-0.0.7.jar;./lib/jorbis-0.0.15.jar;./target/jme.jar;./target/jme-awt.jar;./target/jme-effects.jar;./target/jme-model.jar;./target/jme-audio.jar;./target/jme-terrain.jar;./target/jmetest.jar;./target/jmetest-data-model.jar;./target/jmetest-data-images.jar;./target/jmetest-data-skybox1.jar;./target/jmetest-data-sound.jar;./target/jmetest-data-texture.jar jmetest.effects.TestDynamicSmoker


Is my exact string in the command prompt (I've tested a couple demo's all with similar results), I just checked and I do have lwjgl.jar in my classpath, all 544.7 KB of it.

Well, the error is stating it can't find org.lwjgl.Sys, which is in lwjgl.jar.  So, either the directories you specify are not quite right, the lwjgl.jar is corrupt or unreadable for some reason, ubuntu does not like the syntax of your call (path separators, etc.) or there's something else going on.  :?

Path separators should be colons (:slight_smile: not semi-colons (;), right?

We has a genius amongst us.



I copy/pasted the command right out of the tutorial, but when I changed the ;'s to :'s, it seemed to work - I'm very happy.


java -Djava.library.path=./lib -cp ./lib/lwjgl.jar:./lib/jogg-0.0.7.jar:./lib/jorbis-0.0.15.jar:./target/jme.jar:./target/jme-awt.jar:./target/jme-effects.jar:./target/jme-model.jar:./target/jme-audio.jar:./target/jme-terrain.jar:./target/jmetest.jar:./target/jmetest-data-model.jar:./target/jmetest-data-images.jar:./target/jmetest-data-skybox1.jar:./target/jmetest-data-sound.jar:./target/jmetest-data-texture.jar jmetest.effects.TestDynamicSmoker


It would be neat if that could be changed in the tutorial (is it only for non-Windows users?).

Yes, it is for non-windows users only. And you can register and change the Wiki if you like, that way you might help people in the future with the same problem.