LWJGL 1.1.2 is not working with the current LTS version of Ubuntu (Dapper Drake)

Started by ryiden, September 10, 2007, 20:27:34

Previous topic - Next topic

ryiden

I updated my project from LWJGL 1.0 to LWJGL 1.1.2. Now if I try to execute an LWJGL application, I will get the following exception:

Exception in thread "main" java.lang.UnsatisfiedLinkError: /.../liblwjgl.so: /lib/tls/i686/cmov/libc.so.6: version `GLIBC_2.4' not found (required by /.../liblwjgl.so)
   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:823)
   at java.lang.System.loadLibrary(System.java:1030)
   at org.lwjgl.Sys$1.run(Sys.java:75)
   at java.security.AccessController.doPrivileged(Native Method)
   at org.lwjgl.Sys.doLoadLibrary(Sys.java:68)
   at org.lwjgl.Sys.loadLibrary(Sys.java:84)
   at org.lwjgl.Sys.<clinit>(Sys.java:101)
   at org.lwjgl.opengl.Display.<clinit>(Display.java:111)
   at glhawk.core.AbstractGame.run(AbstractGame.java:65)
   at glhawk.solutions.Solution10.main(Solution10.java:41)

Ubuntu Dapper Drake comes with glibc 2.3.6, but LWJGL requires glibc 2.4.
I don't understand, why the current LTS (Long Term Support) version of the most popular Linux distribution is not supported by LWJGL anymore.

Matzon

We dont have access to a lot of compile boxes with different versions, so usually Elias build linux (32 and 64bit) and I build mac and windows. Apparently Elias upgraded to a newer version, however he failed to find a way to link against 2.3 symbols.

I am not sure how we would handle this though. I'd hate to have to build 432 different versions and I think the users would hate to distribute that too.

elias

Compiling to glibc 2.3 should work on glibc 2.4 systems. The problem is that there is no method (known to me) that forces the link to use glibc 2.3 symbols. There is no magic in the builds we supply, so fetching the source and issuing 'ant' should give you a liblwjgl.so that works on glibc 2.3. You have to do a few apt-get invocations to fetch all required header files, but that's not too hard on ubuntu (I used feisty for the latest builds).

- elias

ryiden

Note that the current stable Debian release (Etch) also uses glibc 2.3.6. I think it will be better to compile liblwjgl.so with the current stable release of Debian, because Debian has the longest release cycle, and glibc is mostly backward compatible.

Finally you want to reach so many platforms as possible with a platform independent library.

Matzon

elias mentioned compiling on debian stable too. I hope we can do that for next release.