Skip to content
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

{lang}[GCCcore/12.3.0,GCCcore/13.2.0,GCCcore/13.3.0] Java v17.0.6 #22245

Open
wants to merge 2 commits into
base: develop
Choose a base branch
from

Conversation

casparvl
Copy link
Contributor

@casparvl casparvl commented Jan 31, 2025

(created using eb --new-pr)

Java has traditionally been at the GCCcore level. However, many of the libraries in $EBROOTJAVA/lib have dependencies, e.g. on X11 libraries and libasound.so (from alsa-lib). Traditionally, this was 'solved' by adding those dependencies at the level of the actual Java application. E.g. https://github.com/easybuilders/easybuild-easyconfigs/blob/b870488de2fce85aa79e759a72e5e97e8b8908f1/easybuild/easyconfigs/m/MATSim/MATSim-15.0-GCCcore-12.3.0-Java-17.eb

When using LD_LIBRARY_PATH, this is not a huge deal, and the advantage is that we can keep Java at SYSTEM toolchain level, thus avoiding some duplication. But when using RPATH support, it is problematic. The libraries that need to get an RPATH set are in the Java installation. However, the paths that need to be added to these RPATHs are not available when installing Java, because we only add those dependencies at the Java application level. Thus, we cannot 'fix' the RPATHs.

The solution is simple:

  1. The Java EasyConfigs need to get the proper dependencies defined that are needed for the libraries that are installed as part of Java (this PR).
  2. The Java EasyBlock (or actually the Binary easyblock) should add the proper paths to the RPATHs of the relevant libraries, when RPATH support is used. (PR: Restructure RPATH and elf interpreter setting for Java, and add the LIBRARY_PATH to the additional RPATH easybuild-easyblocks#3571)

…e-13.2.0.eb, Java-17.0.6-GCCcore-13.3.0.eb
Copy link

github-actions bot commented Jan 31, 2025

Updated software Java-17.0.6-GCCcore-12.3.0.eb

Diff against Java-17.0.6-GCCcore-13.3.0.eb

easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-13.3.0.eb

diff --git a/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-13.3.0.eb b/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-12.3.0.eb
index bcf1724226..a8bb80c88a 100644
--- a/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-13.3.0.eb
+++ b/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-12.3.0.eb
@@ -6,7 +6,7 @@ homepage = 'http://openjdk.java.net'
 description = """Java Platform, Standard Edition (Java SE) lets you develop and deploy
 Java applications on desktops and servers."""
 
-toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
+toolchain = {'name': 'GCCcore', 'version': '12.3.0'}
 
 local_tarball_tmpl = 'OpenJDK%%(version_major)sU-jdk_%s_linux_hotspot_%%(version)s_%s.tar.gz'
 
@@ -28,8 +28,8 @@ checksums = [
 ]
 
 dependencies = [
-    ('X11', '20240607'),
-    ('alsa-lib', '1.2.11'),
+    ('X11', '20230603'),
+    ('alsa-lib', '1.2.9'),
 ]
 
 
Diff against Java-17.0.6-GCCcore-13.2.0.eb

easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-13.2.0.eb

diff --git a/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-13.2.0.eb b/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-12.3.0.eb
index dc1d580861..a8bb80c88a 100644
--- a/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-13.2.0.eb
+++ b/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-12.3.0.eb
@@ -6,7 +6,7 @@ homepage = 'http://openjdk.java.net'
 description = """Java Platform, Standard Edition (Java SE) lets you develop and deploy
 Java applications on desktops and servers."""
 
-toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
+toolchain = {'name': 'GCCcore', 'version': '12.3.0'}
 
 local_tarball_tmpl = 'OpenJDK%%(version_major)sU-jdk_%s_linux_hotspot_%%(version)s_%s.tar.gz'
 
@@ -28,8 +28,9 @@ checksums = [
 ]
 
 dependencies = [
-    ('X11', '20231019'),
-    ('alsa-lib', '1.2.11'),
+    ('X11', '20230603'),
+    ('alsa-lib', '1.2.9'),
 ]
 
+
 moduleclass = 'lang'
Diff against Java-21.0.5.eb

easybuild/easyconfigs/j/Java/Java-21.0.5.eb

diff --git a/easybuild/easyconfigs/j/Java/Java-21.0.5.eb b/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-12.3.0.eb
index 932318fd33..a8bb80c88a 100644
--- a/easybuild/easyconfigs/j/Java/Java-21.0.5.eb
+++ b/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-12.3.0.eb
@@ -1,12 +1,12 @@
 name = 'Java'
-version = '21.0.5'
-local_build = '11'
+version = '17.0.6'
+local_build = '10'
 
-homepage = 'https://openjdk.org'
+homepage = 'http://openjdk.java.net'
 description = """Java Platform, Standard Edition (Java SE) lets you develop and deploy
 Java applications on desktops and servers."""
 
-toolchain = SYSTEM
+toolchain = {'name': 'GCCcore', 'version': '12.3.0'}
 
 local_tarball_tmpl = 'OpenJDK%%(version_major)sU-jdk_%s_linux_hotspot_%%(version)s_%s.tar.gz'
 
@@ -19,14 +19,18 @@ sources = [local_tarball_tmpl % ('%(jdkarch)s', local_build)]
 checksums = [
     {
         local_tarball_tmpl % ('x64', local_build):
-            '3c654d98404c073b8a7e66bffb27f4ae3e7ede47d13284c132d40a83144bfd8c',
+            'a0b1b9dd809d51a438f5fa08918f9aca7b2135721097f0858cf29f77a35d4289',
         local_tarball_tmpl % ('aarch64', local_build):
-            '6482639ed9fd22aa2e704cc366848b1b3e1586d2bf1213869c43e80bca58fe5c',
+            '9e0e88bbd9fa662567d0c1e22d469268c68ac078e9e5fe5a7244f56fec71f55f',
         local_tarball_tmpl % ('ppc64le', local_build):
-            '3c6f4c358facfb6c19d90faf02bfe0fc7512d6b0e80ac18146bbd7e0d01deeef',
-        local_tarball_tmpl % ('riscv64', local_build):
-            '2f1b3e401e36de803398dfb9818861f9f14ca8ae7db650ea0946ab048fefe3b9',
+            'cb772c3fdf3f9fed56f23a37472acf2b80de20a7113fe09933891c6ef0ecde95',
     }
 ]
 
+dependencies = [
+    ('X11', '20230603'),
+    ('alsa-lib', '1.2.9'),
+]
+
+
 moduleclass = 'lang'

Updated software Java-17.0.6-GCCcore-13.2.0.eb

Diff against Java-17.0.6-GCCcore-13.3.0.eb

easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-13.3.0.eb

diff --git a/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-13.3.0.eb b/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-13.2.0.eb
index bcf1724226..dc1d580861 100644
--- a/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-13.3.0.eb
+++ b/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-13.2.0.eb
@@ -6,7 +6,7 @@ homepage = 'http://openjdk.java.net'
 description = """Java Platform, Standard Edition (Java SE) lets you develop and deploy
 Java applications on desktops and servers."""
 
-toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
+toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
 
 local_tarball_tmpl = 'OpenJDK%%(version_major)sU-jdk_%s_linux_hotspot_%%(version)s_%s.tar.gz'
 
@@ -28,9 +28,8 @@ checksums = [
 ]
 
 dependencies = [
-    ('X11', '20240607'),
+    ('X11', '20231019'),
     ('alsa-lib', '1.2.11'),
 ]
 
-
 moduleclass = 'lang'
Diff against Java-17.0.6-GCCcore-12.3.0.eb

easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-12.3.0.eb

diff --git a/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-13.2.0.eb
index a8bb80c88a..dc1d580861 100644
--- a/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-12.3.0.eb
+++ b/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-13.2.0.eb
@@ -6,7 +6,7 @@ homepage = 'http://openjdk.java.net'
 description = """Java Platform, Standard Edition (Java SE) lets you develop and deploy
 Java applications on desktops and servers."""
 
-toolchain = {'name': 'GCCcore', 'version': '12.3.0'}
+toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
 
 local_tarball_tmpl = 'OpenJDK%%(version_major)sU-jdk_%s_linux_hotspot_%%(version)s_%s.tar.gz'
 
@@ -28,9 +28,8 @@ checksums = [
 ]
 
 dependencies = [
-    ('X11', '20230603'),
-    ('alsa-lib', '1.2.9'),
+    ('X11', '20231019'),
+    ('alsa-lib', '1.2.11'),
 ]
 
-
 moduleclass = 'lang'
Diff against Java-21.0.5.eb

easybuild/easyconfigs/j/Java/Java-21.0.5.eb

diff --git a/easybuild/easyconfigs/j/Java/Java-21.0.5.eb b/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-13.2.0.eb
index 932318fd33..dc1d580861 100644
--- a/easybuild/easyconfigs/j/Java/Java-21.0.5.eb
+++ b/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-13.2.0.eb
@@ -1,12 +1,12 @@
 name = 'Java'
-version = '21.0.5'
-local_build = '11'
+version = '17.0.6'
+local_build = '10'
 
-homepage = 'https://openjdk.org'
+homepage = 'http://openjdk.java.net'
 description = """Java Platform, Standard Edition (Java SE) lets you develop and deploy
 Java applications on desktops and servers."""
 
-toolchain = SYSTEM
+toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
 
 local_tarball_tmpl = 'OpenJDK%%(version_major)sU-jdk_%s_linux_hotspot_%%(version)s_%s.tar.gz'
 
@@ -19,14 +19,17 @@ sources = [local_tarball_tmpl % ('%(jdkarch)s', local_build)]
 checksums = [
     {
         local_tarball_tmpl % ('x64', local_build):
-            '3c654d98404c073b8a7e66bffb27f4ae3e7ede47d13284c132d40a83144bfd8c',
+            'a0b1b9dd809d51a438f5fa08918f9aca7b2135721097f0858cf29f77a35d4289',
         local_tarball_tmpl % ('aarch64', local_build):
-            '6482639ed9fd22aa2e704cc366848b1b3e1586d2bf1213869c43e80bca58fe5c',
+            '9e0e88bbd9fa662567d0c1e22d469268c68ac078e9e5fe5a7244f56fec71f55f',
         local_tarball_tmpl % ('ppc64le', local_build):
-            '3c6f4c358facfb6c19d90faf02bfe0fc7512d6b0e80ac18146bbd7e0d01deeef',
-        local_tarball_tmpl % ('riscv64', local_build):
-            '2f1b3e401e36de803398dfb9818861f9f14ca8ae7db650ea0946ab048fefe3b9',
+            'cb772c3fdf3f9fed56f23a37472acf2b80de20a7113fe09933891c6ef0ecde95',
     }
 ]
 
+dependencies = [
+    ('X11', '20231019'),
+    ('alsa-lib', '1.2.11'),
+]
+
 moduleclass = 'lang'

Updated software Java-17.0.6-GCCcore-13.3.0.eb

Diff against Java-17.0.6-GCCcore-13.2.0.eb

easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-13.2.0.eb

diff --git a/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-13.2.0.eb b/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-13.3.0.eb
index dc1d580861..bcf1724226 100644
--- a/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-13.2.0.eb
+++ b/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-13.3.0.eb
@@ -6,7 +6,7 @@ homepage = 'http://openjdk.java.net'
 description = """Java Platform, Standard Edition (Java SE) lets you develop and deploy
 Java applications on desktops and servers."""
 
-toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
+toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
 
 local_tarball_tmpl = 'OpenJDK%%(version_major)sU-jdk_%s_linux_hotspot_%%(version)s_%s.tar.gz'
 
@@ -28,8 +28,9 @@ checksums = [
 ]
 
 dependencies = [
-    ('X11', '20231019'),
+    ('X11', '20240607'),
     ('alsa-lib', '1.2.11'),
 ]
 
+
 moduleclass = 'lang'
Diff against Java-17.0.6-GCCcore-12.3.0.eb

easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-12.3.0.eb

diff --git a/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-13.3.0.eb
index a8bb80c88a..bcf1724226 100644
--- a/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-12.3.0.eb
+++ b/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-13.3.0.eb
@@ -6,7 +6,7 @@ homepage = 'http://openjdk.java.net'
 description = """Java Platform, Standard Edition (Java SE) lets you develop and deploy
 Java applications on desktops and servers."""
 
-toolchain = {'name': 'GCCcore', 'version': '12.3.0'}
+toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
 
 local_tarball_tmpl = 'OpenJDK%%(version_major)sU-jdk_%s_linux_hotspot_%%(version)s_%s.tar.gz'
 
@@ -28,8 +28,8 @@ checksums = [
 ]
 
 dependencies = [
-    ('X11', '20230603'),
-    ('alsa-lib', '1.2.9'),
+    ('X11', '20240607'),
+    ('alsa-lib', '1.2.11'),
 ]
 
 
Diff against Java-21.0.5.eb

easybuild/easyconfigs/j/Java/Java-21.0.5.eb

diff --git a/easybuild/easyconfigs/j/Java/Java-21.0.5.eb b/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-13.3.0.eb
index 932318fd33..bcf1724226 100644
--- a/easybuild/easyconfigs/j/Java/Java-21.0.5.eb
+++ b/easybuild/easyconfigs/j/Java/Java-17.0.6-GCCcore-13.3.0.eb
@@ -1,12 +1,12 @@
 name = 'Java'
-version = '21.0.5'
-local_build = '11'
+version = '17.0.6'
+local_build = '10'
 
-homepage = 'https://openjdk.org'
+homepage = 'http://openjdk.java.net'
 description = """Java Platform, Standard Edition (Java SE) lets you develop and deploy
 Java applications on desktops and servers."""
 
-toolchain = SYSTEM
+toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
 
 local_tarball_tmpl = 'OpenJDK%%(version_major)sU-jdk_%s_linux_hotspot_%%(version)s_%s.tar.gz'
 
@@ -19,14 +19,18 @@ sources = [local_tarball_tmpl % ('%(jdkarch)s', local_build)]
 checksums = [
     {
         local_tarball_tmpl % ('x64', local_build):
-            '3c654d98404c073b8a7e66bffb27f4ae3e7ede47d13284c132d40a83144bfd8c',
+            'a0b1b9dd809d51a438f5fa08918f9aca7b2135721097f0858cf29f77a35d4289',
         local_tarball_tmpl % ('aarch64', local_build):
-            '6482639ed9fd22aa2e704cc366848b1b3e1586d2bf1213869c43e80bca58fe5c',
+            '9e0e88bbd9fa662567d0c1e22d469268c68ac078e9e5fe5a7244f56fec71f55f',
         local_tarball_tmpl % ('ppc64le', local_build):
-            '3c6f4c358facfb6c19d90faf02bfe0fc7512d6b0e80ac18146bbd7e0d01deeef',
-        local_tarball_tmpl % ('riscv64', local_build):
-            '2f1b3e401e36de803398dfb9818861f9f14ca8ae7db650ea0946ab048fefe3b9',
+            'cb772c3fdf3f9fed56f23a37472acf2b80de20a7113fe09933891c6ef0ecde95',
     }
 ]
 
+dependencies = [
+    ('X11', '20240607'),
+    ('alsa-lib', '1.2.11'),
+]
+
+
 moduleclass = 'lang'

@casparvl
Copy link
Contributor Author

Test report by @casparvl
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3571
SUCCESS
Build succeeded for 3 out of 3 (3 easyconfigs in total)
tcn1.local.snellius.surf.nl - Linux RHEL 9.4 (Plow), x86_64, AMD EPYC 7H12 64-Core Processor (zen2), Python 3.11.4
See https://gist.github.com/casparvl/c2a1ef7871f69a2e47c38e0c8af9752a for a full test report.

@casparvl
Copy link
Contributor Author

@boegelbot please test @ jsc-zen3
EB_ARGS="--include-easyblocks-from-pr 3571"

@boegelbot
Copy link
Collaborator

@casparvl: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=22245 EB_ARGS="--include-easyblocks-from-pr 3571" EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_22245 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 5647

Test results coming soon (I hope)...

- notification for comment with ID 2626078779 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3571
SUCCESS
Build succeeded for 3 out of 3 (3 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.5, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.21
See https://gist.github.com/boegelbot/02a24dbbe2db8d0b8916247e7b9221ce for a full test report.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants