-
Notifications
You must be signed in to change notification settings - Fork 644
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
Can't load jffi because of "/lib64/libc.so.6: version `GLIBC_2.27' not found" #1660
Comments
@rosti-il thanks a lot for this indepth investigation, that is very helpful ! @rohanKanojia I propose that we make a new release of dmp, to include at least the fix for linux-amd64 (I guess its not so much an issue on Darwin anyways, as I suppose to have newer glibc deps anyway) The alternative would be to downgrade jiffi. @rohanKanojia do you remember for what fix/feature we have upgraded Jiffi in dmp ? |
I think it seems to be coming from |
Use our own latest version of `com.github.jnr:jffi` dependency Signed-off-by: Rohan Kumar <[email protected]>
Use our own latest version of `com.github.jnr:jffi` dependency Signed-off-by: Rohan Kumar <[email protected]>
that fixed it for me on CentOS 7 |
@visit1985 : Thanks a lot for your feedback! |
Can confirm! |
After the
docker-maven-plugin
was updated from version0.40.2
into version0.42.0
it fails to run during Jenkins pipelines of my employer. The error message looks like in the following example:The reason why it happens is that some of the
libjffi-1.2.so
library files packaged within thejffi-1.3.10-native.jar
transitive dependency Jar file was linked with GLIBC version 2.27, so they fail to load on Linux/UNIX systems with an older version of GLIBC.This
jffi-1.3.10-native.jar
transitive dependency (com.github.jnr:jffi:jar:native:1.3.10
) comes from thecom.github.jnr:jnr-unixsocket:jar:0.38.19
that is the latest nowHowever there is a newer version of the
com.github.jnr:jffi:jar:native
- version 1.3.11. One of the changes of this version is following commit: jnr/jffi@821cbf0 with following commit message:This a not completed fix of the jnr/jffi#138 bug.
Why it's not completed? Because it fixes the issue for the
x86_64-Linux
platform only. Comparison of thejffi-1.3.10-native.jar
and the newerjffi-1.3.11-native.jar
shows differences inx86_64-Linux
andx86_64-OpenBSD
platforms only.The OpenBSD OS isn't related to this issue but there are many other Linux platforms with the
libjffi-1.2.so
library still linked withGLIBC_2.27
and Jenkins of my employer seems using one of them and notx86_64-Linux
.To examine a
libjffi-1.2.so
file and find what version of GLIBC it was linked with in Linux you can use itsldd
tool. If you use Windows a quick and dirty way to check it is just looking for theGLIBC_
strings inside the binary content of thelibjffi-1.2.so
file. For example:/jni/x86_64-Linux/libjffi-1.2.so
injffi-1.3.10-native.jar
containsGLIBC_2.27
:/jni/x86_64-Linux/libjffi-1.2.so
injffi-1.3.11-native.jar
doesn't containGLIBC_2.27
:/jni/aarch64-Linux/libjffi-1.2.so
injffi-1.3.11-native.jar
still containsGLIBC_2.27
:And the same bugfix incompleteness in several other Linux platforms.
If you use
x86_64-Linux
the following workaround is reported as working:But in other Linux platforms it doesn't because of the above incompleteness of bug fix in the
jffi
project.The text was updated successfully, but these errors were encountered: