8000 openjdk 24.0.1 by calvinit · Pull Request #212057 · Homebrew/homebrew-core · GitHub
[go: up one dir, main page]

Skip to content

openjdk 24.0.1 #212057

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

openjdk 24.0.1 #212057

wants to merge 1 commit into from

Conversation

calvinit
Copy link
Contributor
@calvinit calvinit commented Mar 20, 2025
  • Have you followed the guidelines for contributing?
  • Have you ensured that your commits follow the commit style guide?
  • Have you checked that there aren't other open pull requests for the same formula update/change?
  • Have you built your formula locally with HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>, where <formula> is the name of the formula you're submitting?
  • Is your test running fine brew test <formula>, where <formula> is the name of the formula you're submitting?
  • Does your build pass brew audit --strict <formula> (after doing HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source <formula>)? If this is a new formula, does it pass brew audit --new <formula>?

Java 24 / JDK 24: General Availability.

@github-actions github-actions bot added automerge-skip `brew pr-automerge` will skip this pull request CI-build-dependents-from-source Pass --build-dependents-from-source to brew test-bot. labels Mar 20, 2025
@calvinit
Copy link
Contributor Author

Here are some logs from the "Post-build steps" CI job on macOS.
It is unclear whether we need to pay special attention to and address them:

==> Summary
/usr/local/Cellar/gnu-tar/1.35: 17 files, 1.8MB
==> Running `brew cleanup gnu-tar`...
==> Determining openjdk bottle rebuild...
==> Bottling openjdk--24.sonoma.bottle.tar.gz...
Error: Failed applying an ad-hoc signature to /usr/local/Cellar/openjdk/24/libexec/openjdk.jdk/Contents/MacOS/libjli.dylib:
/usr/local/Cellar/openjdk/24/libexec/openjdk.jdk/Contents/MacOS/libjli.dylib: replacing existing signature
/usr/local/Cellar/openjdk/24/libexec/openjdk.jdk/Contents/MacOS/libjli.dylib: resource fork, Finder information, or similar detritus not allowed


/usr/local/opt/gnu-tar/bin/gtar --create --numeric-owner --mtime=2025-02-06 00:16:21 --sort=name --owner=0 --group=0 --numeric-owner --format=pax --pax-option=globexthdr.name=/GlobalHead.%n,exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime --file /Users/brew/actions-runner/_work/homebrew-core/homebrew-core/bottles/openjdk--24.sonoma.bottle.tar openjdk/24
==> Detecting if openjdk--24.sonoma.bottle.tar.gz is relocatable...
Error: Failed applying an ad-hoc signature to /usr/local/Cellar/openjdk/24/libexec/openjdk.jdk/Contents/MacOS/libjli.dylib:
/usr/local/Cellar/openjdk/24/libexec/openjdk.jdk/Contents/MacOS/libjli.dylib: replacing existing signature
/usr/local/Cellar/openjdk/24/libexec/openjdk.jdk/Contents/MacOS/libjli.dylib: resource fork, Finder information, or similar detritus not allowed

@fxcoudert fxcoudert added CI-no-fail-fast Continue CI tests despite failing GitHub Actions matrix builds. CI-no-fail-fast-deps Continue dependent tests despite failing GitHub Actions matrix tests. labels Mar 20, 2025
@fxcoudert
Copy link
Member

Gradle failure on Linux. Upstream issue: gradle/gradle#32290

@calvinit
Copy link
Contributor Author

Gradle failure on Linux. Upstream issue: gradle/gradle#32290

Yes, I found that many failures are caused by the lack of support for the latest OpenJDK 24. This raises the question: should we rely on many non-LTS OpenJDK versions as their JVM environment (depends_on "openjdk")? After all, STS (Short-Term Support) only provides six months of support.

@calvinit calvinit marked this pull request as draft March 24, 2025 02:11
@garydgregory
Copy link

HI all,

Are we to understand that Gradle is holding up Java 24 support?

@SMillerDev
Copy link
Member

That is the current blocker, yes

@tschuett
Copy link
tschuett commented Apr 9, 2025

Did gradle/gradle#32576 solve the gradle blocker?

@SMillerDev
Copy link
Member

Could be, but that's not released yet and nobody tried to apply it as a patch yet.

@calvinit
Copy link
Contributor Author

By this time, openjdk 24.0.1 has already been released!

@reneleonhardt
Copy link

Could you use the setup-gradle action? https://github.com/gradle/actions/blob/main/docs/setup-gradle.md
Or the Gradle Wrapper? https://gradle.org/release-candidate/
The fix is included in 8.14-rc-1, final could take some time 🙈

@SMillerDev
Copy link
Member

Could you use the setup-gradle action? gradle/actions@main/docs/setup-gradle.md
Or the Gradle Wrapper? gradle.org/release-candidate

No, neither fixes our ability to package Gradle.

The fix is included in 8.14-rc-1, final could take some time 🙈

We can wait, or we can apply a patch.

@tschuett
Copy link

Gradle released 8.14 RC2 an hour ago.

@reneleonhardt
Copy link

Gradle released 8.14 RC2 an hour ago.

Funny, when I wrote, 8 issues were still open for RC2 😅
https://github.com/gradle/gradle/milestone/300

@ashr123
Copy link
ashr123 commented Apr 18, 2025

why there is an executable on https://jdk.java.net/24/ but here there are problems? what is the difference?

@SMillerDev
Copy link
Member

why there is an executable on jdk.java.net/24 but here there are problems? what is the difference?

Because Homebrew builds all formulae from source, and checks compatibility of dependencies when updating formula. The executable you mentions simply indicates it can be build.

@tschuett
Copy link

They released 8.14.0-RC3. The release might be close.

@shalabi
Copy link
shalabi commented Apr 25, 2025

The official gradle release just went out today...

@reneleonhardt
Copy link

The official gradle release just went out today...

I'm sure everyone who was waiting for that already knows, everyone can subscribe to GitHub releases with a click 😄
https://github.com/gradle/gradle/releases
https://docs.gradle.org/8.14/release-notes.html

@SMillerDev
Copy link
Member

Let's try this again with the fixed Gradle release.

@SMillerDev
Copy link
Member

Failure on ARM macOS 15:

  Compiling up to 15 files for jdk.attach
  sed: RE error: illegal byte sequence
  make[3]: *** [/private/tmp/openjdk-20250425-8660-381yin/jdk24u-jdk-24.0.1-ga/build/macosx-aarch64-server-release/jdk/modules/java.xml.crypto/com/sun/org/apache/xml/internal/security/resource/xmlsecurity_de.properties] Error 1
  make[3]: *** Deleting file `/private/tmp/openjdk-20250425-8660-381yin/jdk24u-jdk-24.0.1-ga/build/macosx-aarch64-server-release/jdk/modules/java.xml.crypto/com/sun/org/apache/xml/internal/security/resource/xmlsecurity_de.properties'
  make[2]: *** [java.xml.crypto-java] Error 2
  make[2]: *** Waiting for unfinished jobs....
  
  ERROR: Build failed for target 'images' in configuration 'macosx-aarch64-server-release' (exit code 2) 

@reneleonhardt
Copy link

Maybe a string literal / escape error passed to sed?

sed: RE error: illegal byte sequence

@SMillerDev
Copy link
Member

Yeah, could very well be. 24.0.1, so might be a new bug.

@calvinit
Copy link
Contributor Author

This seems to be a related issue: JDK-8353948, but it is still in an "Unresolved" state!

@calvinit
Copy link
Contributor Author

Or we could release 24 first and open a new PR later to upgrade to 24.0.1?

@calvinit
Copy link
Contributor Author
calvinit commented May 9, 2025

Ugh, this is so overwhelming. Add Help wanted! label, please. @SMillerDev

@SMillerDev SMillerDev added the help wanted Task(s) needing PRs from the community or maintainers label May 9, 2025
@reneleonhardt
Copy link

FYI the encoding fix has been merged openjdk/jdk#24574

@daeho-ro daeho-ro added the long dependent tests Set a long timeout for dependent testing label May 9, 2025
@daeho-ro daeho-ro mentioned this pull request May 9, 2025
6 tasks
@mrserb
Copy link
mrserb commented May 9, 2025

sed: RE error: illegal byte sequence
make[3]: *** [/private/tmp/openjdk-20250425-8660-381yin/jdk24u-jdk-24.0.1-ga/build/macosx-aarch64-server-release/jdk/modules/java.xml.crypto/com/sun/org/apache/xml/internal/security/resource/xmlsecurity_de.properties] Error 1
make[3]: *** Deleting file `/private/tmp/openjdk-20250425-8660-381yin/jdk24u-jdk-24.0.1-ga/build/macosx-aarch64-server-release/jdk/modules/java.xml.crypto/com/sun/org/apache/xml/internal/security/resource/xmlsecurity_de.properties'
make[2]: *** [java.xml.crypto-java] Error 2
make[2]: *** Waiting for unfinished jobs....

In JDK 24u it will be fixed by the openjdk/jdk24u#220

@daeho-ro
Copy link
Member
daeho-ro commented May 10, 2025

CI stop after 6 hours and cannot test others, how can we test all dependents?


  • csound: asio version proble, should fix by upstream
  • jolie: checksum mismatch, resolved
  • jetty: macos 13 intel test failed, maybe we can ignore

@reneleonhardt
Copy link

A test installing hundreds of packages sounds a bit... monolithic 😅
Maybe it can be split so one job has not to run for more than 3 hours?

@calvinit
Copy link
Contributor Author
calvinit commented May 12, 2025
  • ☐ jetty: macos 13 intel test failed, maybe we can ignore

According to the Eclipse Jetty website (Version History), 9.4, 10, and 11 are all EOL (Security Only), and the latest Stable and Supported release is 12. So the current 9.4.57.v20241219 seems outdated.

Per Homebrew’s versioning criteria, we might want to either deprecate it or update it to 12. Its 30-day install count is only 111 (as of now), which seems quite low — so removing it and switching to 12 could make sense.

Also, jetty-runner has been removed upstream and is no longer recommended in jetty 12. For reference:

The Jetty team is still exploring alternatives:

Given this context, it might make sense for us to skip the jetty formula in this PR so it doesn’t block CI. We could consider adding a TODO and handling it in a follow-up.

@calvinit
Copy link
Contributor Author
calvinit commented May 12, 2025
  • ☐ csound: asio version proble, should fix by upstream

Are you referring to csound/csound#1962? It looks like it’s already been merged. @daeho-ro

@daeho-ro
Copy link
Member

@calvinit The latest version is published 2022 and patch is 2024, we cannot patch some commit only and so have to wait for the next release.

@calvinit
Copy link
Contributor Author
calvinit commented May 13, 2025

@calvinit The latest version is published 2022 and patch is 2024, we cannot patch some commit only and so have to wait for the next release.

Its next version, 7.0.0, likely won’t be released anytime soon, so we can probably ignore it for now.
That said, I do have a question — how did multiple revised builds manage to pass over the nearly three years since the latest stable version 6.18.1 was released, while this time it fails?

@calvinit
Copy link
Contributor Author
calvinit commented May 14, 2025
  • ☑ jolie: checksum mismatch, resolved

Same issues: #223427 and #223428.

@p-linnane p-linnane mentioned this pull request May 27, 2025
1 task
This was referenced Jun 2, 2025
@SMillerDev
Copy link
Member

@calvinit or @daeho-ro, how can people help get this over the finish line?

@daeho-ro
Copy link
Member
daeho-ro commented Jun 2, 2025

Just thought,

  • we may unlink openjdk with openjdk@23 first
  • syntax change for all openjdk to openjdk@23
  • add openjdk with openjdk@24 again
  • move for each

I don't know this can be possible.

@SMillerDev
Copy link
Member

I don't think we want to do that for a version that won't be supported after. For Python it works because we want to keep the old version around.
I'd rather just merge this and fix dependent failures after.

@SMillerDev
Copy link
Member

Giving it one more try

@calvinit
Copy link
Contributor Author
calvinit commented Jun 4, 2025

@calvinit or @daeho-ro, how can people help get this over the finish line?

As you can see, we've already tried several times, but the process consistently fails during the "CI deps' check" step of the PR. Some of the dep-related formula errors are beyond my knowledge, so I’d appreciate it if anyone could help review and resolve them so we can try again.

@calvinit
Copy link
Contributor Author
calvinit commented Jun 4, 2025

There are still a few issues I'm unclear about, for example:

  1. Why do some dependency formulas need to be built from source (--build-from-source) during testing? The bottle build failures don't seem to be directly caused by this PR’s formula, yet they still prevent the PR from passing the CI deps' check.

  2. Some upstream dependency formulas don’t explicitly state that they support the latest version of openjdk — in fact, a few haven't been updated in years. I suspect they may be outdated, deprecated, or no longer widely used. However, we still assume they're compatible with the latest openjdk, which often leads to compatibility issues when upgrading formula versions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
alias automerge-skip `brew pr-automerge` will skip this pull request CI-build-dependents-from-source Pass --build-dependents-from-source to brew test-bot. CI-no-fail-fast Continue CI tests despite failing GitHub Actions matrix builds. CI-no-fail-fast-deps Continue dependent tests despite failing GitHub Actions matrix tests. help wanted Task(s) needing PRs from the community or maintainers long dependent tests Set a long timeout for dependent testing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants
0