-
Notifications
You must be signed in to change notification settings - Fork 433
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
problem with jogl/gluegen on mac with arm64 #2928
Comments
A workaround (but probably not a longterm solution) is: These are my available java SDKs:
If I select one that says My intuition is that with x86_64 it runs on Rosetta, i.e. pretending to be x86, and thus it works, but presumably java will be slower. As Chengqi states in #1961, we probably somehow have to get the arm64 variants into the corresponding dylib files. |
There is https://jogamp.org/wiki/index.php/Maven . It says that everything after 2.3.2 is at the Jogamp Test Repository (which needs to be added as repository in maven). If I then use 2.5.0, it seems to work on my mac even with a However, as far as I can tell, this will no longer support certain windows architectures: See https://jogamp.org/deployment/maven/org/jogamp/jogl/jogl-all/2.5.0/ and compare to https://jogamp.org/deployment/maven/org/jogamp/jogl/jogl-all/2.3.2/ and in particular note that windows-i586 was dropped. I can't say if that would have consequences for windows users. |
https://jogamp.org/wiki/index.php/Maven also states that there is a ``trick'' that one does not have to list all the native files separately (as we currently do). |
i586 is and Pentium-related 32-bit architecture introduced in 1993. I doubt anybody still runs MATSim and OTFVis on a pure 32-bit system, so I guess it's okay to drop support for this. |
I download the zipfile from https://github.com/matsim-org/matsim-example-project , import this into Intellij, and run
RunMatsim
. Works ok.I then uncomment the line `controler.addOverridingModule( new OTFVisLiveModule() );'. It then fails with the attached error message.
Looks like a problem related to the switch from x86 to arm CPUs for mac. Probably same as #1961 . Has anybody found a systematic solution to this?
2023-11-13T12:10:07,030 ERROR MatsimRuntimeModifications$1:63 Getting uncaught Exception in Thread AWT-EventQueue-0
java.lang.UnsatisfiedLinkError: /private/var/folders/1_/5_c3r6w902j0bjqb2kzmbh4w0000gn/T/jogamp_0000/file_cache/jln2169133887102665096/jln4081141966354528481/natives/macosx-universal/libgluegen_rt.dylib: dlopen(/private/var/folders/1_/5_c3r6w902j0bjqb2kzmbh4w0000gn/T/jogamp_0000/file_cache/jln2169133887102665096/jln4081141966354528481/natives/macosx-universal/libgluegen_rt.dylib, 0x0001): tried: '/private/var/folders/1_/5_c3r6w902j0bjqb2kzmbh4w0000gn/T/jogamp_0000/file_cache/jln2169133887102665096/jln4081141966354528481/natives/macosx-universal/libgluegen_rt.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/private/var/folders/1_/5_c3r6w902j0bjqb2kzmbh4w0000gn/T/jogamp_0000/file_cache/jln2169133887102665096/jln4081141966354528481/natives/macosx-universal/libgluegen_rt.dylib' (no such file), '/private/var/folders/1_/5_c3r6w902j0bjqb2kzmbh4w0000gn/T/jogamp_0000/file_cache/jln2169133887102665096/jln4081141966354528481/natives/macosx-universal/libgluegen_rt.dylib' (ma
at jdk.internal.loader.NativeLibraries.load(Native Method) ~[?:?]
at jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:388) ~[?:?]
at jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:232) ~[?:?]
at jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:174) ~[?:?]
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:2389) ~[?:?]
at java.lang.Runtime.load0(Runtime.java:755) ~[?:?]
at java.lang.System.load(System.java:1953) ~[?:?]
at com.jogamp.common.jvm.JNILibLoaderBase.loadLibraryInternal(JNILibLoaderBase.java:604) ~[gluegen-rt-2.4.0-matsim-1.jar:2.4.0-rc-20200306]
at com.jogamp.common.jvm.JNILibLoaderBase.access$000(JNILibLoaderBase.java:64) ~[gluegen-rt-2.4.0-matsim-1.jar:2.4.0-rc-20200306]
at com.jogamp.common.jvm.JNILibLoaderBase$DefaultAction.loadLibrary(JNILibLoaderBase.java:107) ~[gluegen-rt-2.4.0-matsim-1.jar:2.4.0-rc-20200306]
at com.jogamp.common.jvm.JNILibLoaderBase.loadLibrary(JNILibLoaderBase.java:488) ~[gluegen-rt-2.4.0-matsim-1.jar:2.4.0-rc-20200306]
at com.jogamp.common.os.DynamicLibraryBundle$GlueJNILibLoader.loadLibrary(DynamicLibraryBundle.java:427) ~[gluegen-rt-2.4.0-matsim-1.jar:2.4.0-rc-20200306]
at com.jogamp.common.os.Platform$1.run(Platform.java:321) ~[gluegen-rt-2.4.0-matsim-1.jar:2.4.0-rc-20200306]
at java.security.AccessController.doPrivileged(AccessController.java:318) ~[?:?]
at com.jogamp.common.os.Platform.(Platform.java:290) ~[gluegen-rt-2.4.0-matsim-1.jar:2.4.0-rc-20200306]
at com.jogamp.opengl.GLProfile.(GLProfile.java:154) ~[jogl-all-2.4.0-matsim-1.jar:2.4.0-rc-20200306]
at org.matsim.vis.otfvis.opengl.drawer.OTFOGLDrawer.createGLCanvas(OTFOGLDrawer.java:330) ~[otfvis-15.0.jar:?]
at org.matsim.vis.otfvis.OTFClientLive$1.run(OTFClientLive.java:78) ~[otfvis-15.0.jar:?]
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) ~[?:?]
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771) ~[?:?]
at java.awt.EventQueue$4.run(EventQueue.java:722) ~[?:?]
at java.awt.EventQueue$4.run(EventQueue.java:716) ~[?:?]
at java.security.AccessController.doPrivileged(AccessController.java:399) ~[?:?]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) ~[?:?]
at java.awt.EventQueue.dispatchEvent(EventQueue.java:741) ~[?:?]
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) [?:?]
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) [?:?]
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) [?:?]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) [?:?]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:?]
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) [?:?]
The text was updated successfully, but these errors were encountered: