openjdk-jdk9 icon indicating copy to clipboard operation
openjdk-jdk9 copied to clipboard

GLIBC_2.22 not found on RHEL7/ppc64le

Open sxa opened this issue 8 years ago • 0 comments

If you try to run the openjdk builds (default or OpenJ9) on RHEL7/ppc64le the builds fail due to a missing symbol GLIBC_2.22 in the lib/server/libjvm.so or lib/compressedrefs/libj9jit29.so shared libraries. We need to consider whether this is a concern (I suspect so, since it fails on the latest RHEL7.4 which I expect some people will be using) and whether we really need this dependency. As per the extract below, it works ok on the OpenJDK8 builds:

[root@csp00023 shm]# jdk8u144-b01/bin/java -version
openjdk version "1.8.0-internal"
OpenJDK Runtime Environment (build 1.8.0-internal-jenkins_2017_07_27_20_20-b00)
OpenJDK 64-Bit Server VM (build 25.71-b00, mixed mode)
[root@csp00023 shm]# jdk-9+181/bin/java -version
Error: dl failure on line 754
Error: failed /dev/shm/jdk-9+181/lib/server/libjvm.so, because /lib64/ld64.so.2: version `GLIBC_2.22' not found (required by /dev/shm/jdk-9+181/lib/server/libjvm.so)
[root@csp00023 shm]# jdk-9+181.j9/bin/java -version
JVMJ9VM011W Unable to load j9jit29: /lib64/ld64.so.2: version `GLIBC_2.22' not found (required by /dev/shm/jdk-9+181.j9/lib/compressedrefs/libj9jit29.so)
JVMJ9VM013W Initialization error in function j9dyn29(7): failed to initialize JImage interface
JVMJ9VM013W Initialization error in function VMInitStages(7): cannot initialize modules path
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
[root@csp00023 shm]#

(Note to anyone picking this up fo further investigation: At the moment jenkins is building using the following OSs. I've included the data for x86-64 build environments as well since the same issue does NOT occur on RHEL7/x86-64)

Build architecture Jenkins label OS built on libc version
8u144-b01 ppc64le ppc64le&&fedora Fedora24 2.23.1
9+181 ppc64le ppc64le&&fedora Fedora24 2.23.1
9+181-j9 ppc64le ppc64le&&openj9 Ubuntu ~~16.10~~17.04 2.24-3ubuntu2.2
8u144-b01 x86-64 linux&&x64&&openj9 Ubuntu 16.04.~~2~~3 2.23-0ubuntu9
9+181 x86-64 linux&&x64&&build Ubuntu 16.04.~~2~~3 2.23-0ubuntu9
9+181-j9 x86-64 linux&&x64&&openj9 Ubuntu 16.04.~~2~~3 2.23-0ubuntu9

I'm not sure any of this is conclusive since all machines have a later libc than 2.22, and the default vs openj9 machines have different levels (Fedora 24 vs Ubuntu 17.04) yet both builds seem to behave the same.

#DISCLAIMER Tags and OSs taken from the current jenkins configuration so may not reflect what was in place at the time the builds took place

Reference to this issue added to https://github.com/AdoptOpenJDK/openjdk-build/wiki/%5BWIP%5D-Minimum-OS-levels

sxa avatar Sep 25 '17 20:09 sxa