s390x native library fails to load
pawelszkiler opened this issue · comments
It looks like, after #416, the native library fails to load on a few s390x machines.
Failing OSes include (ones that I was able to check):
- RHEL 7, RHEL 8
- Ubuntu 16, Ubuntu 18, Ubuntu 20
- SLES15 SP3, SLES 15 SP4
The error message says:
libsnappyjava.so: /lib64/libc.so.6: version 'GLIBC_2.32' not found (required by libsnappyjava.so).
Previously used version, 1.1.9.1, was working properly and already included s390x native library:
snappy-java-1.1.9.1\org\xerial\snappy\native\Linux ├───aarch64 ├───android-arm ├───arm ├───armv6 ├───armv7 ├───ppc ├───ppc64 ├───ppc64le ├───s390x ├───x86 └───x86_64
so I'm thinking: is the change done in #416 really needed?
Thanks for looking into it.
One important addition: 1.1.9.1, which is currently used, is prone to three high-score vulnerabilities:
CVE-2023-34453
CVE-2023-34454
CVE-2023-34455
which is the reason I've tried updating to a version that has those vulnerabilities resolved.
Without #416, I can't build any native libraries for s390x by myself.
I can accept a PR for adding native libraries built with an older version of Linux like RHEL7. Run make native
and create a PR that contains an updated native library for s390x
Note that, however, without a docker image of a cross-compiler for s390x, I cannot guarantee future versions of snappy-java will work for an older version of Linux with s390x.
The latest version might have fixed this issue.
@xerial I have checked the latest version (1.1.10.2) and it still does not work on RHEL7. I confirmed with @namrata-ibm that the issue in question was not addressed in #474
However, it was mentioned by @namrata-ibm that it will be checked how this can be fixed 🤞
Thanks all for the contributions! I just released snappy-java 1.1.10.3 with this fix
Thanks @xerial ! I just tested the newly released libsnappyjava.so
for s390x, it worked fine on Linux distributions mentioned in this issue as well as newer ones.