I recently upgraded the version of javafx to 23.01 and found that it can run normally under x64 Linux after the upgrade, but it cannot run normally under the aarch64 version of Linux, indicating that the glibc version is missing 2.34.
Loading library prism_es2 from resource failed: java.lang.UnsatisfiedLinkError:/home/nusp/.openjfx/cache/23.0.1+4/aarch64/libprism es2.so: /usr/lib64/libc.so.6:version 'GLIBc_2.34'not found(required by /home/nusp/.openjfx/cache/23.0.1+4/aarch64/libprism_es2.so)java.lang.UnsatisfiedLinkError: /home/nusp/.openjfx/cache/23.0.1+4/aarch64/libpism_es2.so: /usr/lib64/libc.so.6: version GLIBc 2.34 not found (required by /home/nusp/.openifx/cache/23.0.1+4/aarch64/libprism es2.so)at iava.base/idk.internal.loader.NativeLibraries.load(Native Method)at java.base/jdk,internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:331)at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:197)
at java.base/jdk,internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:139)
at java.base/java.lang.classLoader.loadLibrary(classLoader.java:2418)at java.base/java.lang.Runtime.load(Runtime.java:852)at java.base/java.lang.system.load(System.java:2025)
Through the analysis below, we know that different glibc versions are referenced in prism_es2. How to solve this problem? Is it necessary to have such a high glibc version under aarch64?
Under Linux x64
nm -u libprism_es2.so
w__cxa_finalize
U dlsym
U fprintf_chk
U free
U fwrite
Under Linux aarch64
nm -u libprism_es2.so
w__cxa_finalize@GLIBC_2.17
U dlsym@GLIBC_2.34
U fprintf_chk@GLIBC_2.17
U free@GLIBC_2.17
U fwrite@GLIBC_2.17
4