SSerguey Asael Shinder
Java coding notes: the JVM, and writing software that lasts

Serguey Asael Shinder: Building the JDK on an Intel Mac now fails unless you pass a flag

· by Serguey Asael Shinder / Serguey Shinder

JEP 541, Deprecate the macOS/x64 Port for Removal, is completed and in JDK 28. The text is at https://openjdk.org/jeps/541. If you build the JDK yourself on an Intel Mac, this is the release where that stops being routine.

What actually changes

configure fails:

$ bash ./configure
...
checking compilation type... native
configure: error: The macOS/x64 port is deprecated and may be removed in a
future release. Use --enable-deprecated-ports to suppress this error.
configure exiting with result code 1

There is a way through — --enable-deprecated-ports turns the error into a warning and the build continues — but the JEP is blunt about what that buys you: "There will be no guarantee that the port will build, much less function."

Two other facts in the same document matter more than the flag:

The stated reason is Apple's transition to AArch64 and the phase-out of x64 hardware, and the maintenance burden of keeping a port alive for it.

Serguey Asael Shinder: Building the JDK on an Intel Mac now fails unless you pass a flag
Building the JDK on an Intel Mac now fails unless you pass a flag — Serguey Asael Shinder

What this is not

It is not the end of running Java on an Intel Mac. This is the OpenJDK port — the work of building the JDK for that platform. Existing builds keep working, and vendors shipping their own binaries make their own decisions on their own timelines. If you use a distributed JDK, the question to ask is your vendor's support matrix, not this JEP.

It is not final. The Alternatives section keeps the door open in the usual way: if a credible set of developers commits to maintaining the port, the deprecation can be withdrawn before integration, or reverted by a follow-on JEP before removal. That has happened for other ports. It requires people, not opinions.

What I would check this week

Your CI image. Any pipeline that builds OpenJDK from source on macOS/x64 will start failing at configure, with a message that reads like a policy statement rather than a build error — the kind that gets misfiled as "CI is broken" for a day.

Your local toolchain. If your team still has Intel Macs and someone builds a JDK on one to reproduce a bug, that path now needs a flag and offers no guarantees. Reproducing on AArch64 or on Linux/x64 is the route with support behind it.

And your assumptions about x64 on the desktop. The interesting part of this JEP is not macOS. It is that a mainstream desktop architecture is now being deprecated out of a platform on a normal release cadence — after the hardware vendor moved, and with the maintenance stopping a release before the warning appears.