GNU C Library (glibc) Compatibility
glibc
The GNU C Library (glibc) is using symbol versioning to provide backward compatibility for binaries compiled with older glibc. We use .symver and patchelf to compile our binaries with newer glibc while keeping compatibility with older ones.
The required glibc versions are listed below:
linux64:GLIBC_2.11 GLIBC_2.2.5 GLIBC_2.3 GLIBC_2.3.4 GLIBC_2.4 GLIBC_2.71
2
3
4
5
6linux32:GLIBC_2.0 GLIBC_2.1 GLIBC_2.11 GLIBC_2.1.3 GLIBC_2.2 GLIBC_2.3 GLIBC_2.3.4 GLIBC_2.4 GLIBC_2.71
2
3
4
5
6
7
8
9linuxarm64:GLIBC_2.0 GLIBC_2.171
2linuxarm32:GLIBC_2.11 GLIBC_2.4 GLIBC_2.71
2
3
musl
For example, on Alpine Linux, you will very likely need gcompat (as well as libstdc++) to use the library.
Here is a Dockerfile snippet that is used to test this library on Alpine.
FROM eclipse-temurin:11-alpine
RUN mkdir /opt/app
COPY example-all.jar /opt/app
RUN apk add gcompat
RUN apk add libstdc++
RUN ldd --version || true
CMD ["java", "-jar", "/opt/app/example-all.jar", "--test"]1
2
3
4
5
6
7
8
2
3
4
5
6
7
8