mopemope / meghanada-emacs

A Better Java Development Environment for Emacs
GNU General Public License v3.0
603 stars 56 forks source link

Meghanada not working on M1 Mac #175

Open wnederhof opened 3 years ago

wnederhof commented 3 years ago

Hi there,

When opening a Java file for the first time using an M1 Mac (using Doom Emacs), I get the following error:

WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
[INFO ][Main      :  54] use java home: /Library/Java/JavaVirtualMachines/zulu-15.jdk/Contents/Home
[INFO ][Main      :  55] use java runtime: OpenJDK Runtime Environment 15.0.1+9
[INFO ][Main      :  59] use java vm: OpenJDK 64-Bit Server VM 15.0.1+9
Exception in thread "main" java.lang.UnsatisfiedLinkError: /Users/wouternederhof/Library/Caches/JNA/temp/jna3314717361699394802.tmp: dlopen(/Users/wouternederhof/Library/Caches/JNA/temp/jna3314717361699394802.tmp, 1): no suitable image found.  Did find:
    /Users/wouternederhof/Library/Caches/JNA/temp/jna3314717361699394802.tmp: no matching architecture in universal wrapper
    /Users/wouternederhof/Library/Caches/JNA/temp/jna3314717361699394802.tmp: no matching architecture in universal wrapper
    at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
    at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:383)
    at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:227)
    at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:169)
    at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2407)
    at java.base/java.lang.Runtime.load0(Runtime.java:747)
    at java.base/java.lang.System.load(System.java:1857)
    at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:1018)
    at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:988)
    at com.sun.jna.Native.<clinit>(Native.java:195)
    at com.sun.jna.Structure.setAlignType(Structure.java:280)
    at com.sun.jna.Structure.<init>(Structure.java:197)
    at com.sun.jna.Structure.<init>(Structure.java:193)
    at com.sun.jna.Structure.<init>(Structure.java:180)
    at com.sun.jna.Structure.<init>(Structure.java:172)
    at com.sun.jna.platform.mac.SystemB$Timeval.<init>(SystemB.java:530)
    at oshi.hardware.platform.mac.MacCentralProcessor.<clinit>(MacCentralProcessor.java:58)
    at oshi.hardware.platform.mac.MacHardwareAbstractionLayer.getProcessor(MacHardwareAbstractionLayer.java:59)
    at meghanada.telemetry.TelemetryUtils.<clinit>(TelemetryUtils.java:116)
    at meghanada.Main.main(Main.java:66)
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
[INFO ][Main      :  54] use java home: /Library/Java/JavaVirtualMachines/zulu-15.jdk/Contents/Home
[INFO ][Main      :  55] use java runtime: OpenJDK Runtime Environment 15.0.1+9
[INFO ][Main      :  59] use java vm: OpenJDK 64-Bit Server VM 15.0.1+9
Exception in thread "main" java.lang.UnsatisfiedLinkError: /Users/wouternederhof/Library/Caches/JNA/temp/jna7383150325019145258.tmp: dlopen(/Users/wouternederhof/Library/Caches/JNA/temp/jna7383150325019145258.tmp, 1): no suitable image found.  Did find:
    /Users/wouternederhof/Library/Caches/JNA/temp/jna7383150325019145258.tmp: no matching architecture in universal wrapper
    /Users/wouternederhof/Library/Caches/JNA/temp/jna7383150325019145258.tmp: no matching architecture in universal wrapper
    at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
    at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:383)
    at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:227)
    at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:169)
    at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2407)
    at java.base/java.lang.Runtime.load0(Runtime.java:747)
    at java.base/java.lang.System.load(System.java:1857)
    at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:1018)
    at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:988)
    at com.sun.jna.Native.<clinit>(Native.java:195)
    at com.sun.jna.Structure.setAlignType(Structure.java:280)
    at com.sun.jna.Structure.<init>(Structure.java:197)
    at com.sun.jna.Structure.<init>(Structure.java:193)
    at com.sun.jna.Structure.<init>(Structure.java:180)
    at com.sun.jna.Structure.<init>(Structure.java:172)
    at com.sun.jna.platform.mac.SystemB$Timeval.<init>(SystemB.java:530)
    at oshi.hardware.platform.mac.MacCentralProcessor.<clinit>(MacCentralProcessor.java:58)
    at oshi.hardware.platform.mac.MacHardwareAbstractionLayer.getProcessor(MacHardwareAbstractionLayer.java:59)
    at meghanada.telemetry.TelemetryUtils.<clinit>(TelemetryUtils.java:116)
    at meghanada.Main.main(Main.java:66)
Y4shin commented 3 years ago

I am getting the Same error using the OpenJDK 11:

WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
[INFO ][Main      :  54] use java home: /opt/homebrew/Cellar/openjdk@11/11.0.10/libexec/openjdk.jdk/Contents/Home
[INFO ][Main      :  55] use java runtime: OpenJDK Runtime Environment 11.0.10+9
[INFO ][Main      :  59] use java vm: OpenJDK 64-Bit Server VM 11.0.10+9
Exception in thread "main" java.lang.UnsatisfiedLinkError: /Users/patric/Library/Caches/JNA/temp/jna16490857632165893392.tmp: dlopen(/Users/patric/Library/Caches/JNA/temp/jna16490857632165893392.tmp, 1): no suitable image found.  Did find:
    /Users/patric/Library/Caches/JNA/temp/jna16490857632165893392.tmp: no matching architecture in universal wrapper
    /Users/patric/Library/Caches/JNA/temp/jna16490857632165893392.tmp: no matching architecture in universal wrapper
    at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
    at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2442)
    at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2498)
    at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2694)
    at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2627)
    at java.base/java.lang.Runtime.load0(Runtime.java:768)
    at java.base/java.lang.System.load(System.java:1837)
    at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:1018)
    at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:988)
    at com.sun.jna.Native.<clinit>(Native.java:195)
    at com.sun.jna.Structure.setAlignType(Structure.java:280)
    at com.sun.jna.Structure.<init>(Structure.java:197)
    at com.sun.jna.Structure.<init>(Structure.java:193)
    at com.sun.jna.Structure.<init>(Structure.java:180)
    at com.sun.jna.Structure.<init>(Structure.java:172)
    at com.sun.jna.platform.mac.SystemB$Timeval.<init>(SystemB.java:530)
    at oshi.hardware.platform.mac.MacCentralProcessor.<clinit>(MacCentralProcessor.java:58)
    at oshi.hardware.platform.mac.MacHardwareAbstractionLayer.getProcessor(MacHardwareAbstractionLayer.java:59)
    at meghanada.telemetry.TelemetryUtils.<clinit>(TelemetryUtils.java:116)
    at meghanada.Main.main(Main.java:66)
dfpetrin commented 3 years ago

Same here with OpenJDK 15

WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
[INFO ][Main      :  54] use java home: /opt/homebrew/Cellar/openjdk/15.0.2/libexec/openjdk.jdk/Contents/Home
[INFO ][Main      :  55] use java runtime: OpenJDK Runtime Environment 16+14
[INFO ][Main      :  59] use java vm: OpenJDK 64-Bit Server VM 16+14
Exception in thread "main" java.lang.UnsatisfiedLinkError: /Users/derrik/Library/Caches/JNA/temp/jna5581008252115319461.tmp: dlopen(/Users/derrik/Library/Caches/JNA/temp/jna5581008252115319461.tmp, 1): no suitable image found.  Did find:
    /Users/derrik/Library/Caches/JNA/temp/jna5581008252115319461.tmp: no matching architecture in universal wrapper
    /https://pastebin.com/sFE9MXshhttps://pastebin.com/sFE9MXshhttps://pastebin.com/sFE9MXshUsers/derrik/Library/Caches/JNA/temp/jna5581008252115319461.tmp: no matching architecture in universal wrapper
    at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
    at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:383)
    at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:227)
    at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:169)
    at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2383)
    at java.base/java.lang.Runtime.load0(Runtime.java:746)
    at java.base/java.lang.System.load(System.java:1857)
    at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:1018)
    at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:988)
    at com.sun.jna.Native.<clinit>(Native.java:195)
    at com.sun.jna.Structure.setAlignType(Structure.java:280)
    at com.sun.jna.Structure.<init>(Structure.java:197)
    at com.sun.jna.Structure.<init>(Structure.java:193)
    at com.sun.jna.Structure.<init>(Structure.java:180)
    at com.sun.jna.Structure.<init>(Structure.java:172)
    at com.sun.jna.platform.mac.SystemB$Timeval.<init>(SystemB.java:530)
    at oshi.hardware.platform.mac.MacCentralProcessor.<clinit>(MacCentralProcessor.java:58)
    at oshi.hardware.platform.mac.MacHardwareAbstractionLayer.getProcessor(MacHardwareAbstractionLayer.java:59)
    at meghanada.telemetry.TelemetryUtils.<clinit>(TelemetryUtils.java:116)
    at meghanada.Main.main(Main.java:66)
dfpetrin commented 3 years ago

This is the M1 ARM native openjdk installed via ARM homebrew, not the Intel simulated Rosetta version. Same with the emacs install.

MacPapo commented 2 years ago

22/09/2022 Mac M1 not supported yet

WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance. [INFO ][Main : 54] use java home: /Users/macpapo/.asdf/installs/java/oracle-17 [INFO ][Main : 55] use java runtime: Java(TM) SE Runtime Environment 17+35-LTS-2724 [INFO ][Main : 59] use java vm: Java HotSpot(TM) 64-Bit Server VM 17+35-LTS-2724 Exception in thread "main" java.lang.UnsatisfiedLinkError: /Users/macpapo/Library/Caches/JNA/temp/jna16511177733960061840.tmp: dlopen(/Users/macpapo/Library/Caches/JNA/temp/jna16511177733960061840.tmp, 0x0001): tried: '/Users/macpapo/Library/Caches/JNA/temp/jna16511177733960061840.tmp' (fat file, but missing compatible architecture (have (i386,x86_64), need (arm64e))) at java.base/jdk.internal.loader.NativeLibraries.load(Native Method) at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:384) at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:228) at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:170) at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2389) at java.base/java.lang.Runtime.load0(Runtime.java:755) at java.base/java.lang.System.load(System.java:1953) at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:1018) at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:988) at com.sun.jna.Native.<clinit>(Native.java:195) at com.sun.jna.Structure.setAlignType(Structure.java:280) at com.sun.jna.Structure.<init>(Structure.java:197) at com.sun.jna.Structure.<init>(Structure.java:193) at com.sun.jna.Structure.<init>(Structure.java:180) at com.sun.jna.Structure.<init>(Structure.java:172) at com.sun.jna.platform.mac.SystemB$Timeval.<init>(SystemB.java:530) at oshi.hardware.platform.mac.MacCentralProcessor.<clinit>(MacCentralProcessor.java:58) at oshi.hardware.platform.mac.MacHardwareAbstractionLayer.getProcessor(MacHardwareAbstractionLayer.java:59) at meghanada.telemetry.TelemetryUtils.<clinit>(TelemetryUtils.java:116) at meghanada.Main.main(Main.java:66)

bion commented 1 year ago

Anyone had luck with this yet?