JavaNativeFoundation framework missing arm64 part

Hello

I was trying to build openjdk (zero vm) for arm mac using xcode12 and cross-compiling on x86_64 host.

I found out a serious blocker, the JNF framework is x86_64 only, it's located here
Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/JavaNativeFoundation.framework

However in xcode12 I can find a version of JNF framework which is built for x86_64 and arm64 and it's library, not just tbd.

SharedFrameworks/ContentDeliveryServices.framework/Versions/A/itms/java-arm64/Frameworks/JavaNativeFoundation.framework/JavaNativeFoundation

The problem is: I probably can't share openjdk for arm64 mac if it includes JNF.framework from apple's build of openjdk ( and without it java won't work)

Is there any hope to get system wide JNF.framework for arm64 any time soon ?

Replies

Hi,

have you seen the https://github.com/apple/openjdk/ repo?
Apple has open sourced JNF as part of that just recently.

The repo also contains a few fixes and hacks needed to get the Zero JVM running on arm64.
Did you get anywhere with this? I've tried to build and get an macosx-aarch64-zero-release directory but there are no libs or executables. I had to grab openjdk 14 from brew to use as a boot jdk.
Figured out my problem. I needed to use openjdk 13 to use as a boot jdk. However, there's a bug in src/java.base/macosx/native/libjli/javamdmacosx.m. On arm64, libjli.dylib looks for the directory "zero" but what's built is actually "server".

have you seen the https://github.com/apple/openjdk/ repo?
Apple has open sourced JNF as part of that just recently.

They just built it with the openjdk project. That's OK, I guess, but it would be nice to have it bundled with XCode for ARM64 so developers can use it, or at least provide it as a standalone project to fetch at build time, since it's a one-liner: https://github.com/apple/openjdk/blob/xcodejdk14-release/build.sh#L32


  • The JavaNativeFoundation framework is present in the arm version of macOS 14 (Sonoma). I don't have previous releases of macOS available to check. Does anyone know if JavaNativeFoundation is available in earlier arm releases of macOS?

Add a Comment