

The issue seems to have come up before in discussions related to Java 9 and 10 in this repository. The error is Required service is missing:, preventing Fiji/ImageJ from launching. My issue is that, while I can manage to compile the launcher into an ARM executable that runs, imagej-launcher itself seems to be incompatible with modern versions of the JDK, both the official ARM-native Oracle JDK17 ( ), and OpenJDK from a package manager like Homebrew. Hey Peter, thanks for your work on this, it'll only become more important as more M1 Macs are adopted in the bioimaging community. Here's a link to the binary if anyone wants to test it themselves, it belongs in: The missing case is universal launcher on x86 Mac, which I might be able to try this weekend. So from where I sit, a universal imagej-macosx for Fiji with native JRE inside is the best for Apple Silicon Macs, but all cases work fine, as long as a system Java exists. While adoptopen vs 1_zulu uses the included zulu.) So adoptopen vs zulu results in wrong architecture error and system java. (Also, if anyone is curious, if you put both an x86 and arm64 JRE in Fiji.app/java it's alphabetical. Normal launch (<4 s), no issues, 1 Fiji in dock my universal imagej-macosx (x86/arm64), with native Azul 11 JRE inside Fiji.app:.System Java fallback, launches Fiji, No issues.


This is also supported by cmake, which I was pleased to see is used by the imagej-launcher. It does report an architecture mismatch error and does a fallback to system Java, which results in a 2nd Fiji icon in the dock-minor inconvenience.Īs noted in the thread, Apple docs show you can build for a different architecture than you run (can't test obviously) and can build universal binaries. Non-fat file: ImageJ-macosx is architecture: x86_64 Applications/Fiji.app/Contents/MacOS> lipo -info ImageJ-macosx
