Bug 675 : Can't load IA 32-bit .so on a IA 32-bit platform with OpenGL on Linux rev 0133
Last modified: 2007-11-17 10:35




Status:
RESOLVED
Resolution:
FIXED -
Priority:
P2
Severity:
normal

 

Reporter:
yesyesnono
Assigned To:
fry

Attachment Type Created Size Actions

Description:   Opened: 2007-11-03 12:46
Seems that opengl isn't working with version v0133 for linux :

CODE :

import processing.opengl.*;
void setup(){
size(800, 600, OPENGL);
}

void draw(){
//
}


ERROR :

java.lang.UnsatisfiedLinkError:
/home/oli/processing-0133/libraries/opengl/library/libjogl_awt.so: Can't
load IA 32-bit .so on a IA 32-bit platform
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at
com.sun.opengl.impl.NativeLibLoader$DefaultAction.loadLibrary(NativeLibLoader.java:78)

java.lang.RuntimeException:
/home/oli/processing-0133/libraries/opengl/library/libjogl_awt.so: Can't
load IA 32-bit .so on a IA 32-bit platform
at processing.core.PApplet.createGraphics(PApplet.java:1229)
at processing.core.PApplet.size(PApplet.java:1009)
at processing.core.PApplet.size(PApplet.java:953)
at Temporary_3690_6445.setup(Temporary_3690_6445.java:4)
at processing.core.PApplet.handleDisplay(PApplet.java:1384)
at processing.core.PGraphics.requestDisplay(PGraphics.java:690)
at processing.core.PApplet.run(PApplet.java:1556)
at java.lang.Thread.run(Unknown Source)


And a super dirty way to understand where the error came from :
copied /libraries/opengl/library - from version 0125 into 0133 folder and
it worked.

and it worked.

So it seems to come from the jogl version used in 0133.

Note that the previous version i used was 0125 and discovered this bug only
today upgrading to 0133.

* i'm running 32bit platform
xubuntu 2.6.15-29-386

Let me know if there is anything else i can help you with in identifying
the problem.

Thanks,

Oli
Additional Comment #1 From fry 2007-11-06 16:12
what version of java are you using? the release included with the download
or something else?
Additional Comment #2 From yesyesnono 2007-11-06 16:47
Using the one with provided with the download.
(btw I also tried v0131 and got the same results.)
Additional Comment #3 From fry 2007-11-06 16:51
k, maybe try with the latest release? the error message is uninformative
because of a problem in that java release, apparently... to do this:

1. install the latest jre download from sun.

2. rename the 'java' folder to 'java_old' or something

3. symlink the more recent jre directory to 'java' in the processing folder.

then try running, and see if you can get a better error message out of it.
Additional Comment #4 From yesyesnono 2007-11-06 19:08
thanks Ben,

with v0133
I installed jre1.6.0_03 and got a less cryptic error message :

java.lang.UnsatisfiedLinkError:
/home/oli/processing-0133/libraries/opengl/library/libjogl_awt.so:
/lib/tls/i686/cmov/libc.so.6: version `GLIBC_2.4' not found (required by
/home/oli/processing-0133/libraries/opengl/library/libjogl_awt.so)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at
com.sun.opengl.impl.NativeLibLoader$DefaultAction.loadLibrary(NativeLibLoader.java:78)

java.lang.RuntimeException:
/home/oli/processing-0133/libraries/opengl/library/libjogl_awt.so:
/lib/tls/i686/cmov/libc.so.6: version `GLIBC_2.4' not found (required by
/home/oli/processing-0133/libraries/opengl/library/libjogl_awt.so)
at processing.core.PApplet.createGraphics(PApplet.java:1229)
at processing.core.PApplet.size(PApplet.java:1009)
at processing.core.PApplet.size(PApplet.java:953)
at Temporary_8119_8131.setup(Temporary_8119_8131.java:3)
at processing.core.PApplet.handleDisplay(PApplet.java:1384)
at processing.core.PGraphics.requestDisplay(PGraphics.java:690)
at processing.core.PApplet.run(PApplet.java:1556)
at java.lang.Thread.run(Unknown Source)


If i understand well what google tells me, it seems that this jogl version
was build against a more recent C library than i have. (the one installed
on my system is : libc-2.3.6)


Well, out of curiosity i tried to replace jogl files with the latest version
jogl-1.1.1-rc6-linux-i586.zip
just replacing the *.so, gleugen-rt.jar and jogl.jar in opengl/library/

And that seemed to work. So hopefully, it won't be an issue in the future.

Hope that helps.
Additional Comment #5 From fry 2007-11-06 19:26
k, that's a much more informative message.. you're just running into a
glibc problem (yay linux!)

if it seems fixed in 1.1.1, that's a good sign, and hopefully 1.1.1 will be
released in the next few days. unfortunately i can't include prereleases
with processing because they aren't signed (and therefore, no applets),
unfortunately.. so i guess we'll have to wait.

the previous release of the opengl lib found in release 0125 should also
work ok. though we've been having a lot of trouble with 1.1, so maybe i
should go back to 1.0 until 1.1.1 is ready.
Additional Comment #6 From fry 2007-11-17 08:22
moving to jogl-1.1.1-rc6 for 0134 since it seems that they've actually
signed it properly after all.
Additional Comment #7 From fry 2007-11-17 10:35
actually it's not signed, so we'll wait for jogl-1.1.1, and revert to 1.0
for 0134.