I've been trying to get my program to run in multiple environments, so far it works in Windows 7 and Ubuntu but on the iMac I've gotten hold of I get this Exception. I've found posts about similar problems which suggested using -d32, but then Java just says it can't run in 32 bit mode and will continue with 64 bit.
[INFO] Exception in thread "main" java.lang.UnsatisfiedLinkError: /Users/jarl/felidae/libgluegen-rt.jnilib: no suitable image found. Did find: /Users/jarl/felidae/libgluegen-rt.jnilib: unknown required load command 0x80000022 [INFO] at java.lang.ClassLoader$NativeLibrary.load(Native Method) [INFO] at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1823) [INFO] at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1738) [INFO] at java.lang.Runtime.loadLibrary0(Runtime.java:823) [INFO] at java.lang.System.loadLibrary(System.java:1045) [INFO] at com.jogamp.gluegen.runtime.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:102) [INFO] at com.jogamp.gluegen.runtime.NativeLibLoader.access$000(NativeLibLoader.java:51) [INFO] at com.jogamp.gluegen.runtime.NativeLibLoader$1.run(NativeLibLoader.java:70) [INFO] at java.security.AccessController.doPrivileged(Native Method) [INFO] at com.jogamp.gluegen.runtime.NativeLibLoader.loadGlueGenRT(NativeLibLoader.java:68) [INFO] at com.jogamp.common.jvm.JVMUtil.<clinit>(JVMUtil.java:56) [INFO] at javax.media.opengl.GLProfile.<clinit>(GLProfile.java:1141) [INFO] at org.curious.felidae.media.Graphics.<clinit>(Graphics.java:70) [INFO] at org.curious.felidae.Game.<init>(Game.java:25) [INFO] at org.curious.felidae.Main.main(Main.java:14) |
Administrator
|
What version of OS X are you using? This may be a consequence of our .jnilibs being compiled for a later version than you have.
|
"About this Mac" says the OS is Version 10.5.8. I clicked on update software and the only update that seemed to be relevant was an update to Java and it hasn't fixed anything. Here's some more info
System Software Overview: System Version: Mac OS X 10.5.8 (9L30) Kernel Version: Darwin 9.8.0 Boot Volume: W Boot Mode: Normal Hardware Overview: Model Name: iMac Model Identifier: iMac7,1 Processor Name: Intel Core 2 Duo Processor Speed: 2.8 GHz Number Of Processors: 1 Total Number Of Cores: 2 L2 Cache: 4 MB Memory: 4 GB Bus Speed: 800 MHz |
Administrator
|
Doing some more Googling, it looks like compiling on 10.6 may produce libraries that won't work on 10.5 if you don't set the flags right (see http://stackoverflow.com/questions/1440456/static-libraries-in-version-cross-compiled-program).
We have two options: 1. You can try the version I compiled just now on 10.6 with the -no_compact_linkedit flag described in the Stack Overflow post above (zip file at jogl-no-compact-linkedit.zip). 2. You can build JOGL on your 10.5.8 machine and try using the .jnilib files that come out of that build. I recently updated the instructions at http://jogamp.org/wiki/index.php/Building_JOGL_on_the_command_line to cover the Mac, so if you've already got Xcode installed, it should be easy. Either way, please let me know what works -- if we need to change our build flags that would be good for us to know |
Sorry to have such poor turn around, anyway, I ending up having to compile my own binaries.
|
Administrator
|
Did my custom binaries not work for you? Please let me know; I'd like to make sure our distributed binaries will work on Mac OS X 10.5.x as well as 10.6.x. |
Administrator
|
In reply to this post by Wade Walker
On Monday, March 21, 2011 04:40:55 Wade Walker [via jogamp] wrote:
> > Doing some more Googling, it looks like compiling on 10.6 may produce > libraries that won't work on 10.5 if you don't set the flags right (see > http://stackoverflow.com/questions/1440456/static-libraries-in-version-cross-compiled-program). > > We have two options: > > 1. You can try the version I compiled just now on 10.6 with the > -no_compact_linkedit flag described in the Stack Overflow post above (zip > file at http://forum.jogamp.org/file/n2708643/jogl-no-compact-linkedit.zip > jogl-no-compact-linkedit.zip ). > > 2. You can build JOGL on your 10.5.8 machine and try using the .jnilib files > that come out of that build. I recently updated the instructions at > http://jogamp.org/wiki/index.php/Building_JOGL_on_the_command_line to cover > the Mac, so if you've already got Xcode installed, it should be easy. > > Either way, please let me know what works -- if we need to change our build > flags that would be good for us to know what are the downsides of '-no_compact_linkedit' ? None ? Shall we add this to gluegen then ? I personally don't care that much .. Nice findings Wade .. ~Sven |
Administrator
|
I'm hesitant to make any change, no matter how small it seems, unless we're very sure it fixes a problem. Trying to get something as complex as JOGL working across so many platforms is very difficult (as you know better than anyone ), so I don't want to risk changing something at random and possibly introducing a bug somewhere else. Hopefully Jarl will respond and then we'll know for sure. |
Have any changes been made to fix this? I am seeing the same problem on a Macbook Pro with Mac OS 10.5.8. I start my application from a jnlp file using Java web start. The jnlp file has an extension tag that goes to get the latest native libraries from http://jogamp.org/deployment/jogamp-current/jogl-all-awt.jnlp. Then the UnsatisfiedLinkError is thrown as described above. I do not see this problem on my Macbook Pro with OS 10.6.8.
Any updates on the situation would be appreciated, and thanks for all the work you guys do on this. Derek |
Administrator
|
Please fill a bug report about this bug to help us to keep a track of it.
Julien Gouesse | Personal blog | Website
|
Free forum by Nabble | Edit this page |