Exception on 20061201 nightly build on linux

Hello there

I’m getting an UnsatisfiedLinkError with the current nightly build:


ryanm@Windfall:~/jogltest$ ls
gluegen-rt.jar  jogl-demos.jar  jogl.jar  libgluegen-rt.so  libjogl_awt.so  libjogl_cg.so  libjogl.so

ryanm@Windfall:~/jogltest$ java -Djava.library.path=. -cp jogl.jar:gluegen-rt.jar:jogl-demos.jar demos.gears.Gears
Exception in thread "main" java.lang.UnsatisfiedLinkError: /home/ryanm/jogltest/libjogl.so: /home/ryanm/jogltest/libjogl.so: undefined symbol: glXReleaseTextImageEXT
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1676)
        at java.lang.Runtime.loadLibrary0(Runtime.java:822)
        at java.lang.System.loadLibrary(System.java:993)
        at com.sun.opengl.impl.NativeLibLoader$DefaultAction.loadLibrary(NativeLibLoader.java:78)
        at com.sun.opengl.impl.NativeLibLoader.loadLibrary(NativeLibLoader.java:101)
        at com.sun.opengl.impl.NativeLibLoader.access$100(NativeLibLoader.java:47)
        at com.sun.opengl.impl.NativeLibLoader$1.run(NativeLibLoader.java:109)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.sun.opengl.impl.NativeLibLoader.loadCore(NativeLibLoader.java:107)
        at com.sun.opengl.impl.x11.X11GLDrawableFactory.<clinit>(X11GLDrawableFactory.java:101)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:164)
        at javax.media.opengl.GLDrawableFactory.getFactory(GLDrawableFactory.java:111)
        at javax.media.opengl.GLCanvas.<init>(GLCanvas.java:113)
        at javax.media.opengl.GLCanvas.<init>(GLCanvas.java:82)
        at javax.media.opengl.GLCanvas.<init>(GLCanvas.java:75)
        at demos.gears.Gears.main(Gears.java:19)

Am I doing something wrong?

Wow, thanks for catching that. I guess the run-time linker must behave differently (more eagerly) on Linux because I’m 100% sure this error didn’t happen on Solaris/x86. Anyway, this turned out to be a typo in the recently-added NVidia GeForce 8 extensions in glxext.h, now fixed and reported to NVidia. Will be fixed in tomorrow’s nightly build (dated 12/2).

Just tried again with the 20061217 build

ryanm@Windfall:~/jogltest$ ls
gluegen-rt.jar  jogl-demos.jar  jogl.jar  libgluegen-rt.so  libjogl_awt.so  libjogl_cg.so  libjogl.so

ryanm@Windfall:~/jogltest$ java -Djava.library.path=. -cp jogl.jar:gluegen-rt.jar:jogl-demos.jar demos.gears.Gears
Exception in thread "main" java.lang.NullPointerException
        at com.sun.opengl.impl.x11.X11GLDrawableFactory.chooseGraphicsConfiguration(X11GLDrawableFactory.java:194)
        at javax.media.opengl.GLCanvas.<init>(GLCanvas.java:113)
        at javax.media.opengl.GLCanvas.<init>(GLCanvas.java:82)
        at javax.media.opengl.GLCanvas.<init>(GLCanvas.java:75)
        at demos.gears.Gears.main(Gears.java:19)

ryanm@Windfall:~/jogltest$ glxinfo
name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: NVIDIA Corporation
server glx version string: 1.4
server glx extensions:
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig,
    GLX_SGIX_pbuffer, GLX_SGI_video_sync, GLX_SGI_swap_control,
    GLX_ARB_multisample, GLX_NV_float_buffer, GLX_ARB_fbconfig_float
client glx vendor string: NVIDIA Corporation
client glx version string: 1.4
client glx extensions:
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_visual_info,
    GLX_EXT_visual_rating, GLX_EXT_import_context, GLX_SGI_video_sync,
    GLX_NV_swap_group, GLX_NV_video_out, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
    GLX_SGI_swap_control, GLX_NV_float_buffer, GLX_ARB_fbconfig_float
GLX version: 1.3
GLX extensions:
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig,
    GLX_SGIX_pbuffer, GLX_SGI_video_sync, GLX_SGI_swap_control,
    GLX_ARB_multisample, GLX_NV_float_buffer, GLX_ARB_fbconfig_float,
    GLX_ARB_get_proc_address
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce Go 6800/PCI/SSE2
OpenGL version string: 2.0.2 NVIDIA 87.76
OpenGL extensions:
    GL_ARB_color_buffer_float, GL_ARB_depth_texture, GL_ARB_draw_buffers,
    GL_ARB_fragment_program, GL_ARB_fragment_program_shadow,
    GL_ARB_fragment_shader, GL_ARB_half_float_pixel, GL_ARB_imaging,
...

The latest release build of JOGL works fine.

Sorry, there was another bug in the new code which provides the chosen GLCapabilities for a given GLDrawable. A fix has been checked in; please try again with a nightly build dated 12/19 or later.