Closed skumar4120 closed 5 years ago
I was having the same issue with an older version of everything (maven, java, plugin, and docker)... Adding -Ddocker.host=http://127.0.0.1:2375 resolved my issue. Also setting the DOCKER_HOST environment variable to http://127.0.0.1:2375 fixed it.
I am using Docker Desktop and this is not applciable to me as getting connection refused trying like this.
I am using Docker Desktop and this is not applciable to me as getting connection refused trying like this.
Not sure about Docker Desktop. I only use Linux. You might want to make sure Docker is listening on that port. Quick search gave me this link https://github.com/docker/for-win/issues/3546
Sorry. I am using Docker Desktop for Mac. Also please note that it does not work for some of the repos using this plugin and works for other repos using the same plugin in similar fashion.
FYI - I'm not an expert. Not part of the dev team for this plugin or Docker and have never used a Mac.
But, from the documentation, https://dmp.fabric8.io/#global-configuration this plugin uses dockerHost variable to communicate with the Docker Daemon.
The discovery sequence used by the docker-maven-plugin to determine the URL is:
value of dockerHost (docker.host)
the Docker host associated with the docker-machine named in
the value of the environment variable DOCKER_HOST.
/var/run/docker.sock if it is a readable socket (Unix & OS X).
//./pipe/docker_engine if it is a readable named pipe (Windows)
From the error you're getting, I'd say it's falling back to number 4 and trying to use a Unix socket and your machine doesn't have the correct libraries to read from Unix sockets. I'd suggest reading more documentation on the Mac Docker Desktop settings to enable TCP for communication with the Docker Daemon or figure out what libraries you need for Unix sockets.
I use the 3rd option in a Jenkins slave with DOCKER_HOST=http://127.0.0.1:2375
and docker running in the slave.
I configured the hosts in /etc/docker/daemon.json to look like this:
{ "hosts" : ["unix:///var/run/docker.sock", "tcp://127.0.0.1:2375"] }
I fixed the issue and it was due to the jdk 11 in my local machine was somehow corrupted. reinstalled jdk11 again after uninstalling and the error went away.
I'm getting this on Apple M1.
Has anyone else run into this?
Yes! M1 user over here. I facing this issue. Do we have any resolution for it?
dmp uses https://github.com/jnr/jnr-unixsocket for accessing the Docker daemon via UNIX sockets, which is the default if no DOCKER_HOST
is set. jnr-unixsocket uses native code which needs to be available for every CPU architecture and it looks like that M1 is not supported.
My suggestion would be:
- Try to access the Docker daemon remotely by setting DOCKER_HOST. See the docs for more details.
Setting DOCKER_HOST to http://127.0.0.1:2375 or tcp://127.0.0.1:2375 does not work when you are using Docker Desktop on macOS.
The macOS version of Docker Desktop does not listen on TCP port 2375, so you cannot connect to the Docker engine like this on macOS. See: How do I connect to the remote Docker Engine API? in the Docker documentation, which explains that this is only for the Windows version of Docker Desktop.
On macOS, you are supposed to use the Unix socket, but that does not work either on an Apple Silicon Mac, because that brings you back to square one: it gives you the UnsatisfiedLinkError that this whole issue started with. (Apparently it's trying to load a dynamic library for which there is no arm64 version available).
It looks like there is currently no way to get fabric8-maven-plugin working on Apple Silicon.
You can try a workaround like proxying via socat
from a TCP port to a Unix socket like described in https://stackoverflow.com/questions/39411126/access-docker-daemon-remote-api-on-docker-for-mac
However, for the full solution, we need support by jnr-unixsocket, so you might want to monitor and popularize https://github.com/jnr/jnr-unixsocket/issues/95 as well.
This workaround works quite well for now:
brew install socat
socat TCP-LISTEN:2375,reuseaddr,fork UNIX-CONNECT:/var/run/docker.sock &
export DOCKER_HOST=http://127.0.0.1:2375
Then you can OCI images with Maven
I'm using the latest docker-maven-plugin 0.38.1 on a MacBook with M1Pro. Still getting the exception with the Unix-Socket: java.lang.UnsatisfiedLinkError: /private/var/folders/lj/tncwj8854fzfmcz2qkggt7nr0000gn/T/jffi13752557419398001617.dylib: dlopen(/private/var/folders/lj/tncwj8854fzfmcz2qkggt7nr0000gn/T/jffi13752557419398001617.dylib, 0x0001): tried: '/private/var/folders/lj/tncwj8854fzfmcz2qkggt7nr0000gn/T/jffi13752557419398001617.dylib' (fat file, but missing compatible architecture (have 'i386,x86_64', need 'arm64e')), '/usr/lib/jffi13752557419398001617.dylib' (no such file)
In https://github.com/jnr/jnr-unixsocket/issues/95 is mentioned that all M1 fixes were released in jnr-unixsocket 0.38.17
Is it possible to upgrade docker-maven-plugin to jnr-unixsocket 0.38.17 (currently 0.38.14)
@bkrenger : Could you please raise a PR for this?
@rohanKanojia : do you have an estimate when the next release is done?
@bkrenger : Thanks for pinging. Let me try to release next weekend. I'll notify you when it's available. Would that be okay for you? Otherwise If it's urgent I can also try cutting a patch release just containing jnr-unixsocket upgrade in 1-2 days.
@rohanKanojia : Next weekend is fine, thanks.
Works well with the 0.38.1 version of the fabric8 plugin and M1. Cheers!
@bkrenger : bdw, I released v0.39.0 yesterday. Would be awesome if you could try it out and provide some feedback :-)
@rohanKanojia : I tested with the latest version of the plugin (0.39.0) and everything works, no problems. Cheers!
bdw, I released v0.39.0 yesterday. Would be awesome if you could try it out and provide some feedback :-)
thank you, v0.39.0 solved this issue for me when running it on the M1 👍
I run SpringBootApplication, how to slove it?
Caused by: java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: /private/var/folders/6t/53b1b6g94md0f39k16jqtzvr0000gn/T/jffi2082719339036404438.dylib: dlopen(/private/var/folders/6t/53b1b6g94md0f39k16jqtzvr0000gn/T/jffi2082719339036404438.dylib, 0x0001): tried: '/private/var/folders/6t/53b1b6g94md0f39k16jqtzvr0000gn/T/jffi2082719339036404438.dylib' (fat file, but missing compatible architecture (have 'i386,x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/private/var/folders/6t/53b1b6g94md0f39k16jqtzvr0000gn/T/jffi2082719339036404438.dylib' (no such file), '/private/var/folders/6t/53b1b6g94md0f39k16jqtzvr0000gn/T/jffi2082719339036404438.dylib' (fat file, but missing compatible architecture (have 'i386,x86_64', need 'arm64'))
still seeing this issue. tried 0.41.0, worked fine with 0.40.3
[ERROR] Failed to execute goal io.fabric8:docker-maven-plugin:0.41.0:start (start) on project cc_generator: Execution start of goal io.fabric8:docker-maven-plugin:0.41.0:start failed: An API incompatibility was encountered while executing io.fabric8:docker-maven-plugin:0.41.0:start: java.lang.UnsatisfiedLinkError: could not load FFI provider jnr.ffi.provider.jffi.Provider
0.41.0,
Yup. I tried updating from various older versions to 0.41.0 and got the same issue.
10:47:43 [ERROR] Failed to execute goal io.fabric8:docker-maven-plugin:0.41.0:remove (remove) on project acc-postgresql: Execution remove of goal io.fabric8:docker-maven-plugin:0.41.0:remove failed: An API incompatibility was encountered while executing io.fabric8:docker-maven-plugin:0.41.0:remove: java.lang.UnsatisfiedLinkError: could not load FFI provider jnr.ffi.provider.jffi.Provider
10:47:43 [ERROR] -----------------------------------------------------
10:47:43 [ERROR] realm = plugin>io.fabric8:docker-maven-plugin:0.41.0
10:47:43 [ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
10:47:43 [ERROR] urls[0] = file:/opt/cache/.m2/repository/io/fabric8/docker-maven-plugin/0.41.0/docker-maven-plugin-0.41.0.jar
10:47:43 [ERROR] urls[1] = file:/opt/cache/.m2/repository/com/github/jnr/jnr-unixsocket/0.38.19/jnr-unixsocket-0.38.19.jar
10:47:43 [ERROR] urls[2] = file:/opt/cache/.m2/repository/com/github/jnr/jnr-ffi/2.2.13/jnr-ffi-2.2.13.jar
10:47:43 [ERROR] urls[3] = file:/opt/cache/.m2/repository/com/github/jnr/jffi/1.3.10/jffi-1.3.10.jar
10:47:43 [ERROR] urls[4] = file:/opt/cache/.m2/repository/com/github/jnr/jffi/1.3.10/jffi-1.3.10-native.jar
10:47:43 [ERROR] urls[5] = file:/opt/cache/.m2/repository/org/ow2/asm/asm-commons/9.2/asm-commons-9.2.jar
10:47:43 [ERROR] urls[6] = file:/opt/cache/.m2/repository/org/ow2/asm/asm-analysis/9.2/asm-analysis-9.2.jar
10:47:43 [ERROR] urls[7] = file:/opt/cache/.m2/repository/org/ow2/asm/asm-tree/9.2/asm-tree-9.2.jar
10:47:43 [ERROR] urls[8] = file:/opt/cache/.m2/repository/org/ow2/asm/asm-util/9.2/asm-util-9.2.jar
10:47:43 [ERROR] urls[9] = file:/opt/cache/.m2/repository/com/github/jnr/jnr-a64asm/1.0.0/jnr-a64asm-1.0.0.jar
10:47:43 [ERROR] urls[10] = file:/opt/cache/.m2/repository/com/github/jnr/jnr-x86asm/1.0.2/jnr-x86asm-1.0.2.jar
10:47:43 [ERROR] urls[11] = file:/opt/cache/.m2/repository/com/github/jnr/jnr-constants/0.10.4/jnr-constants-0.10.4.jar
10:47:43 [ERROR] urls[12] = file:/opt/cache/.m2/repository/com/github/jnr/jnr-enxio/0.32.14/jnr-enxio-0.32.14.jar
10:47:43 [ERROR] urls[13] = file:/opt/cache/.m2/repository/com/github/jnr/jnr-posix/3.1.16/jnr-posix-3.1.16.jar
10:47:43 [ERROR] urls[14] = file:/opt/cache/.m2/repository/com/google/cloud/tools/jib-core/0.23.0/jib-core-0.23.0.jar
10:47:43 [ERROR] urls[15] = file:/opt/cache/.m2/repository/com/google/cloud/tools/jib-build-plan/0.4.0/jib-build-plan-0.4.0.jar
10:47:43 [ERROR] urls[16] = file:/opt/cache/.m2/repository/com/google/http-client/google-http-client/1.42.2/google-http-client-1.42.2.jar
10:47:43 [ERROR] urls[17] = file:/opt/cache/.m2/repository/io/opencensus/opencensus-api/0.31.1/opencensus-api-0.31.1.jar
10:47:43 [ERROR] urls[18] = file:/opt/cache/.m2/repository/io/grpc/grpc-context/1.27.2/grpc-context-1.27.2.jar
10:47:43 [ERROR] urls[19] = file:/opt/cache/.m2/repository/io/opencensus/opencensus-contrib-http-util/0.31.1/opencensus-contrib-http-util-0.31.1.jar
10:47:43 [ERROR] urls[20] = file:/opt/cache/.m2/repository/com/google/http-client/google-http-client-apache-v2/1.42.2/google-http-client-apache-v2-1.42.2.jar
10:47:43 [ERROR] urls[21] = file:/opt/cache/.m2/repository/com/google/auth/google-auth-library-oauth2-http/1.10.0/google-auth-library-oauth2-http-1.10.0.jar
10:47:43 [ERROR] urls[22] = file:/opt/cache/.m2/repository/com/google/auto/value/auto-value-annotations/1.9/auto-value-annotations-1.9.jar
10:47:43 [ERROR] urls[23] = file:/opt/cache/.m2/repository/com/google/auth/google-auth-library-credentials/1.10.0/google-auth-library-credentials-1.10.0.jar
10:47:43 [ERROR] urls[24] = file:/opt/cache/.m2/repository/com/google/http-client/google-http-client-gson/1.42.2/google-http-client-gson-1.42.2.jar
10:47:43 [ERROR] urls[25] = file:/opt/cache/.m2/repository/org/apache/commons/commons-compress/1.21/commons-compress-1.21.jar
10:47:43 [ERROR] urls[26] = file:/opt/cache/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.13.4.2/jackson-databind-2.13.4.2.jar
10:47:43 [ERROR] urls[27] = file:/opt/cache/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.13.4/jackson-annotations-2.13.4.jar
10:47:43 [ERROR] urls[28] = file:/opt/cache/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.13.4/jackson-core-2.13.4.jar
10:47:43 [ERROR] urls[29] = file:/opt/cache/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.13.4/jackson-datatype-jsr310-2.13.4.jar
10:47:43 [ERROR] urls[30] = file:/opt/cache/.m2/repository/org/ow2/asm/asm/9.4/asm-9.4.jar
10:47:43 [ERROR] urls[31] = file:/opt/cache/.m2/repository/com/google/code/gson/gson/2.8.9/gson-2.8.9.jar
10:47:43 [ERROR] urls[32] = file:/opt/cache/.m2/repository/com/google/guava/guava/31.1-jre/guava-31.1-jre.jar
10:47:43 [ERROR] urls[33] = file:/opt/cache/.m2/repository/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar
10:47:43 [ERROR] urls[34] = file:/opt/cache/.m2/repository/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
10:47:43 [ERROR] urls[35] = file:/opt/cache/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar
10:47:43 [ERROR] urls[36] = file:/opt/cache/.m2/repository/org/checkerframework/checker-qual/3.12.0/checker-qual-3.12.0.jar
10:47:43 [ERROR] urls[37] = file:/opt/cache/.m2/repository/com/google/errorprone/error_prone_annotations/2.11.0/error_prone_annotations-2.11.0.jar
10:47:43 [ERROR] urls[38] = file:/opt/cache/.m2/repository/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar
10:47:43 [ERROR] urls[39] = file:/opt/cache/.m2/repository/net/jodah/failsafe/2.4.0/failsafe-2.4.0.jar
10:47:43 [ERROR] urls[40] = file:/opt/cache/.m2/repository/org/apache/commons/commons-lang3/3.6/commons-lang3-3.6.jar
10:47:43 [ERROR] urls[41] = file:/opt/cache/.m2/repository/org/apache/commons/commons-text/1.1/commons-text-1.1.jar
10:47:43 [ERROR] urls[42] = file:/opt/cache/.m2/repository/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar
10:47:43 [ERROR] urls[43] = file:/opt/cache/.m2/repository/org/apache/httpcomponents/httpcore/4.4.13/httpcore-4.4.13.jar
10:47:43 [ERROR] urls[44] = file:/opt/cache/.m2/repository/commons-logging/commons-logging/1.2/commons-logging-1.2.jar
10:47:43 [ERROR] urls[45] = file:/opt/cache/.m2/repository/commons-codec/commons-codec/1.11/commons-codec-1.11.jar
10:47:43 [ERROR] urls[46] = file:/opt/cache/.m2/repository/org/apache/maven/plugins/maven-assembly-plugin/3.1.0/maven-assembly-plugin-3.1.0.jar
10:47:43 [ERROR] urls[47] = file:/opt/cache/.m2/repository/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar
10:47:43 [ERROR] urls[48] = file:/opt/cache/.m2/repository/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar
10:47:43 [ERROR] urls[49] = file:/opt/cache/.m2/repository/org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar
10:47:43 [ERROR] urls[50] = file:/opt/cache/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar
10:47:43 [ERROR] urls[51] = file:/opt/cache/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
10:47:43 [ERROR] urls[52] = file:/opt/cache/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
10:47:43 [ERROR] urls[53] = file:/opt/cache/.m2/repository/org/apache/maven/shared/maven-common-artifact-filters/3.0.1/maven-common-artifact-filters-3.0.1.jar
10:47:43 [ERROR] urls[54] = file:/opt/cache/.m2/repository/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.jar
10:47:43 [ERROR] urls[55] = file:/opt/cache/.m2/repository/org/apache/maven/shared/maven-artifact-transfer/0.9.0/maven-artifact-transfer-0.9.0.jar
10:47:43 [ERROR] urls[56] = file:/opt/cache/.m2/repository/org/codehaus/plexus/plexus-archiver/3.5/plexus-archiver-3.5.jar
10:47:43 [ERROR] urls[57] = file:/opt/cache/.m2/repository/org/iq80/snappy/snappy/0.4/snappy-0.4.jar
10:47:43 [ERROR] urls[58] = file:/opt/cache/.m2/repository/org/tukaani/xz/1.6/xz-1.6.jar
10:47:43 [ERROR] urls[59] = file:/opt/cache/.m2/repository/org/apache/maven/shared/file-management/3.0.0/file-management-3.0.0.jar
10:47:43 [ERROR] urls[60] = file:/opt/cache/.m2/repository/org/apache/maven/shared/maven-shared-io/3.0.0/maven-shared-io-3.0.0.jar
10:47:43 [ERROR] urls[61] = file:/opt/cache/.m2/repository/commons-io/commons-io/2.5/commons-io-2.5.jar
10:47:43 [ERROR] urls[62] = file:/opt/cache/.m2/repository/org/apache/maven/shared/maven-filtering/3.1.1/maven-filtering-3.1.1.jar
10:47:43 [ERROR] urls[63] = file:/opt/cache/.m2/repository/org/sonatype/plexus/plexus-build-api/0.0.7/plexus-build-api-0.0.7.jar
10:47:43 [ERROR] urls[64] = file:/opt/cache/.m2/repository/org/codehaus/plexus/plexus-io/3.0.0/plexus-io-3.0.0.jar
10:47:43 [ERROR] urls[65] = file:/opt/cache/.m2/repository/org/apache/maven/maven-archiver/3.2.0/maven-archiver-3.2.0.jar
10:47:43 [ERROR] urls[66] = file:/opt/cache/.m2/repository/org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0.jar
10:47:43 [ERROR] urls[67] = file:/opt/cache/.m2/repository/org/bouncycastle/bcpkix-jdk15on/1.65/bcpkix-jdk15on-1.65.jar
10:47:43 [ERROR] urls[68] = file:/opt/cache/.m2/repository/org/bouncycastle/bcprov-jdk15on/1.65/bcprov-jdk15on-1.65.jar
10:47:43 [ERROR] urls[69] = file:/opt/cache/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.24/plexus-interpolation-1.24.jar
10:47:43 [ERROR] urls[70] = file:/opt/cache/.m2/repository/org/yaml/snakeyaml/1.32/snakeyaml-1.32.jar
10:47:43 [ERROR] Number of foreign imports: 1
10:47:43 [ERROR] import: Entry[import from realm ClassRealm[project>com.ca.apm.acc:acc-parent:99.99.nextgen_fixes-SNAPSHOT, parent: ClassRealm[maven.api, parent: null]]]
10:47:43 [ERROR]
10:47:43 [ERROR] -----------------------------------------------------: could not get native definition for type `POINTER`, original error message follows: java.lang.UnsatisfiedLinkError: Unable to execute or load jffi binary stub from `/tmp`. Set `TMPDIR` or Java property `java.io.tmpdir` to a read/write path that is not mounted "noexec".
10:47:43 [ERROR] /opt/jenkins/workspace/99.99.nextgen_fixes-AccPostgresqlDocker/jffi700736575658283841.so: /lib64/libc.so.6: version `GLIBC_2.27' not found (required by /opt/jenkins/workspace/99.99.nextgen_fixes-AccPostgresqlDocker/jffi700736575658283841.so)
10:47:43 [ERROR] at com.kenai.jffi.internal.StubLoader.tempLoadError(StubLoader.java:555)
10:47:43 [ERROR] at com.kenai.jffi.internal.StubLoader.loadFromJar(StubLoader.java:454)
10:47:43 [ERROR] at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:330)
10:47:43 [ERROR] at com.kenai.jffi.internal.StubLoader.<clinit>(StubLoader.java:618)
10:47:43 [ERROR] at java.base/java.lang.Class.forName0(Native Method)
10:47:43 [ERROR] at java.base/java.lang.Class.forName(Class.java:467)
10:47:43 [ERROR] at com.kenai.jffi.Init.load(Init.java:68)
10:47:43 [ERROR] at com.kenai.jffi.Foreign$InstanceHolder.getInstanceHolder(Foreign.java:50)
10:47:43 [ERROR] at com.kenai.jffi.Foreign$InstanceHolder.<clinit>(Foreign.java:46)
10:47:43 [ERROR] at com.kenai.jffi.Foreign.getInstance(Foreign.java:104)
10:47:43 [ERROR] at com.kenai.jffi.Type$Builtin.lookupTypeInfo(Type.java:242)
10:47:43 [ERROR] at com.kenai.jffi.Type$Builtin.getTypeInfo(Type.java:237)
10:47:43 [ERROR] at com.kenai.jffi.Type.resolveSize(Type.java:155)
10:47:43 [ERROR] at com.kenai.jffi.Type.size(Type.java:138)
10:47:43 [ERROR] at jnr.ffi.provider.jffi.NativeRuntime$TypeDelegate.size(NativeRuntime.java:198)
10:47:43 [ERROR] at jnr.ffi.provider.AbstractRuntime.<init>(AbstractRuntime.java:48)
10:47:43 [ERROR] at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:77)
10:47:43 [ERROR] at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:49)
10:47:43 [ERROR] at jnr.ffi.provider.jffi.NativeRuntime$SingletonHolder.<clinit>(NativeRuntime.java:73)
10:47:43 [ERROR] at jnr.ffi.provider.jffi.NativeRuntime.getInstance(NativeRuntime.java:60)
10:47:43 [ERROR] at jnr.ffi.provider.jffi.Provider.<init>(Provider.java:29)
10:47:43 [ERROR] at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
10:47:43 [ERROR] at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
10:47:43 [ERROR] at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
10:47:43 [ERROR] at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
10:47:43 [ERROR] at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128)
10:47:43 [ERROR] at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:347)
10:47:43 [ERROR] at java.base/java.lang.Class.newInstance(Class.java:645)
10:47:43 [ERROR] at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:68)
10:47:43 [ERROR] at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.<clinit>(FFIProvider.java:57)
10:47:43 [ERROR] at jnr.ffi.provider.FFIProvider.getSystemProvider(FFIProvider.java:35)
10:47:43 [ERROR] at jnr.ffi.LibraryLoader.create(LibraryLoader.java:89)
10:47:43 [ERROR] at jnr.unixsocket.Native.<clinit>(Native.java:76)
10:47:43 [ERROR] at jnr.unixsocket.UnixSocketChannel.<init>(UnixSocketChannel.java:101)
10:47:43 [ERROR] at jnr.unixsocket.UnixSocketChannel.open(UnixSocketChannel.java:60)
10:47:43 [ERROR] at io.fabric8.maven.docker.access.util.LocalSocketUtil.canConnectUnixSocket(LocalSocketUtil.java:38)
10:47:43 [ERROR] at io.fabric8.maven.docker.access.DockerConnectionDetector$UnixSocketDockerHostProvider.getConnectionParameter(DockerConnectionDetector.java:113)
10:47:43 [ERROR] at io.fabric8.maven.docker.access.DockerConnectionDetector.detectConnectionParameter(DockerConnectionDetector.java:82)
10:47:43 [ERROR] at io.fabric8.maven.docker.service.DockerAccessFactory.createDockerAccess(DockerAccessFactory.java:34)
10:47:43 [ERROR] at io.fabric8.maven.docker.AbstractDockerMojo.execute(AbstractDockerMojo.java:274)
10:47:43 [ERROR] at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
10:47:43 [ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
10:47:43 [ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
10:47:43 [ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
10:47:43 [ERROR] at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
10:47:43 [ERROR] at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
10:47:43 [ERROR] at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
10:47:43 [ERROR] at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
10:47:43 [ERROR] at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
10:47:43 [ERROR] at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
10:47:43 [ERROR] at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
10:47:43 [ERROR] at org.apache.maven.cli.MavenCli.execute(MavenCli.java:957)
10:47:43 [ERROR] at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:289)
10:47:43 [ERROR] at org.apache.maven.cli.MavenCli.main(MavenCli.java:193)
10:47:43 [ERROR] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
10:47:43 [ERROR] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
10:47:43 [ERROR] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
10:47:43 [ERROR] at java.base/java.lang.reflect.Method.invoke(Method.java:568)
10:47:43 [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
10:47:43 [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
10:47:43 [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
10:47:43 [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)
10:47:43 [ERROR] -> [Help 1]
Ah, maybe it is this issue:
could not get native definition for type
POINTER
, original error message follows: java.lang.UnsatisfiedLinkError: Unable to execute or load jffi binary stub from/tmp
. SetTMPDIR
or Java propertyjava.io.tmpdir
to a read/write path that is not mounted "noexec". /opt/jenkins/workspace/XXX/jffi700736575658283841.so: /lib64/libc.so.6: version `GLIBC_2.27' not found (required by /opt/jenkins/workspace/XXX/jffi700736575658283841.so)
We are using CentOS 7 Docker images to build our stuff. It seems to me that the jffi library has started building its SOs on more modern Linux with too new Glibc.
@wilx yeah I don't have it in front of me but I saw errors related to gclib versions. if its not backward compatible though the major # semver version should be changed
is there an official bug open for this issue against 0.41?
Can confirm: 0.40.3
works, 0.42.0
does not.
I've made a new bug report about the second reincarnation of this issue: https://github.com/fabric8io/docker-maven-plugin/issues/1660
[INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 26.235 s [INFO] Finished at: 2019-08-12T14:50:22-04:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal io.fabric8:docker-maven-plugin:0.30.0:start (start-docker-containers) on project outbound-messaging-service: Execution start-docker-containers of goal io.fabric8:docker-maven-plugin:0.30.0:start failed: An API incompatibility was encountered while executing io.fabric8:docker-maven-plugin:0.30.0:start: java.lang.UnsatisfiedLinkError: could not load FFI provider jnr.ffi.provider.jffi.Provider [ERROR] ----------------------------------------------------- [ERROR] realm = plugin>io.fabric8:docker-maven-plugin:0.30.0 [ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy [ERROR] urls[0] = file:/Users/sathishkumarvijayakumar/.m2/repository/io/fabric8/docker-maven-plugin/0.30.0/docker-maven-plugin-0.30.0.jar [ERROR] urls[1] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/apache/httpcomponents/httpclient/4.5.5/httpclient-4.5.5.jar [ERROR] urls[2] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/apache/httpcomponents/httpcore/4.4.9/httpcore-4.4.9.jar [ERROR] urls[3] = file:/Users/sathishkumarvijayakumar/.m2/repository/commons-logging/commons-logging/1.2/commons-logging-1.2.jar [ERROR] urls[4] = file:/Users/sathishkumarvijayakumar/.m2/repository/commons-codec/commons-codec/1.10/commons-codec-1.10.jar [ERROR] urls[5] = file:/Users/sathishkumarvijayakumar/.m2/repository/com/github/jnr/jnr-unixsocket/0.22/jnr-unixsocket-0.22.jar [ERROR] urls[6] = file:/Users/sathishkumarvijayakumar/.m2/repository/com/github/jnr/jnr-ffi/2.1.9/jnr-ffi-2.1.9.jar [ERROR] urls[7] = file:/Users/sathishkumarvijayakumar/.m2/repository/com/github/jnr/jffi/1.2.17/jffi-1.2.17.jar [ERROR] urls[8] = file:/Users/sathishkumarvijayakumar/.m2/repository/com/github/jnr/jffi/1.2.16/jffi-1.2.16-native.jar [ERROR] urls[9] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/ow2/asm/asm/5.0.3/asm-5.0.3.jar [ERROR] urls[10] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/ow2/asm/asm-commons/5.0.3/asm-commons-5.0.3.jar [ERROR] urls[11] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/ow2/asm/asm-analysis/5.0.3/asm-analysis-5.0.3.jar [ERROR] urls[12] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/ow2/asm/asm-tree/5.0.3/asm-tree-5.0.3.jar [ERROR] urls[13] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/ow2/asm/asm-util/5.0.3/asm-util-5.0.3.jar [ERROR] urls[14] = file:/Users/sathishkumarvijayakumar/.m2/repository/com/github/jnr/jnr-a64asm/1.0.0/jnr-a64asm-1.0.0.jar [ERROR] urls[15] = file:/Users/sathishkumarvijayakumar/.m2/repository/com/github/jnr/jnr-x86asm/1.0.2/jnr-x86asm-1.0.2.jar [ERROR] urls[16] = file:/Users/sathishkumarvijayakumar/.m2/repository/com/github/jnr/jnr-constants/0.9.11/jnr-constants-0.9.11.jar [ERROR] urls[17] = file:/Users/sathishkumarvijayakumar/.m2/repository/com/github/jnr/jnr-enxio/0.20/jnr-enxio-0.20.jar [ERROR] urls[18] = file:/Users/sathishkumarvijayakumar/.m2/repository/com/github/jnr/jnr-posix/3.0.47/jnr-posix-3.0.47.jar [ERROR] urls[19] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/apache/commons/commons-lang3/3.6/commons-lang3-3.6.jar [ERROR] urls[20] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/apache/commons/commons-text/1.1/commons-text-1.1.jar [ERROR] urls[21] = file:/Users/sathishkumarvijayakumar/.m2/repository/com/google/code/gson/gson/2.8.5/gson-2.8.5.jar [ERROR] urls[22] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/bouncycastle/bcpkix-jdk15on/1.57/bcpkix-jdk15on-1.57.jar [ERROR] urls[23] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/bouncycastle/bcprov-jdk15on/1.57/bcprov-jdk15on-1.57.jar [ERROR] urls[24] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/apache/maven/plugins/maven-assembly-plugin/3.1.0/maven-assembly-plugin-3.1.0.jar [ERROR] urls[25] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar [ERROR] urls[26] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar [ERROR] urls[27] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar [ERROR] urls[28] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar [ERROR] urls[29] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar [ERROR] urls[30] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar [ERROR] urls[31] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/apache/maven/shared/maven-common-artifact-filters/3.0.1/maven-common-artifact-filters-3.0.1.jar [ERROR] urls[32] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.jar [ERROR] urls[33] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/apache/maven/shared/maven-artifact-transfer/0.9.0/maven-artifact-transfer-0.9.0.jar [ERROR] urls[34] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/codehaus/plexus/plexus-archiver/3.5/plexus-archiver-3.5.jar [ERROR] urls[35] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/apache/commons/commons-compress/1.14/commons-compress-1.14.jar [ERROR] urls[36] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/iq80/snappy/snappy/0.4/snappy-0.4.jar [ERROR] urls[37] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/tukaani/xz/1.6/xz-1.6.jar [ERROR] urls[38] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/apache/maven/shared/file-management/3.0.0/file-management-3.0.0.jar [ERROR] urls[39] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/apache/maven/shared/maven-shared-io/3.0.0/maven-shared-io-3.0.0.jar [ERROR] urls[40] = file:/Users/sathishkumarvijayakumar/.m2/repository/commons-io/commons-io/2.5/commons-io-2.5.jar [ERROR] urls[41] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/apache/maven/shared/maven-filtering/3.1.1/maven-filtering-3.1.1.jar [ERROR] urls[42] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/sonatype/plexus/plexus-build-api/0.0.7/plexus-build-api-0.0.7.jar [ERROR] urls[43] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/codehaus/plexus/plexus-io/3.0.0/plexus-io-3.0.0.jar [ERROR] urls[44] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/apache/maven/maven-archiver/3.2.0/maven-archiver-3.2.0.jar [ERROR] urls[45] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0.jar [ERROR] urls[46] = file:/Users/sathishkumarvijayakumar/.m2/repository/joda-time/joda-time/2.9.9/joda-time-2.9.9.jar [ERROR] urls[47] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/yaml/snakeyaml/1.18/snakeyaml-1.18.jar [ERROR] urls[48] = file:/Users/sathishkumarvijayakumar/.m2/repository/com/google/guava/guava/23.0-android/guava-23.0-android.jar [ERROR] urls[49] = file:/Users/sathishkumarvijayakumar/.m2/repository/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar [ERROR] urls[50] = file:/Users/sathishkumarvijayakumar/.m2/repository/com/google/errorprone/error_prone_annotations/2.0.18/error_prone_annotations-2.0.18.jar [ERROR] urls[51] = file:/Users/sathishkumarvijayakumar/.m2/repository/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar [ERROR] urls[52] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.jar [ERROR] urls[53] = file:/Users/sathishkumarvijayakumar/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.24/plexus-interpolation-1.24.jar [ERROR] Number of foreign imports: 1 [ERROR] import: Entry[import from realm ClassRealm[maven.api, parent: null]] [ERROR] [ERROR] ----------------------------------------------------- [ERROR] : could not get native definition for type: POINTER: java.lang.UnsatisfiedLinkError: /private/var/folders/yz/pljt90293ybblfz30zk2_0900000gn/T/jffi17457546410635727626.dylib: dlopen(/private/var/folders/yz/pljt90293ybblfz30zk2_0900000gn/T/jffi17457546410635727626.dylib, 1): no suitable image found. Did find: [ERROR] /private/var/folders/yz/pljt90293ybblfz30zk2_0900000gn/T/jffi17457546410635727626.dylib: code signature in (/private/var/folders/yz/pljt90293ybblfz30zk2_0900000gn/T/jffi17457546410635727626.dylib) not valid for use in process using Library Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed. [ERROR] at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method) [ERROR] at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2430) [ERROR] at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2487) [ERROR] at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2684) [ERROR] at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2617) [ERROR] at java.base/java.lang.Runtime.load0(Runtime.java:767) [ERROR] at java.base/java.lang.System.load(System.java:1831) [ERROR] at com.kenai.jffi.internal.StubLoader.loadFromJar(StubLoader.java:376) [ERROR] at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:258) [ERROR] at com.kenai.jffi.internal.StubLoader.(StubLoader.java:449)
[ERROR] at java.base/java.lang.Class.forName0(Native Method)
[ERROR] at java.base/java.lang.Class.forName(Class.java:398)
[ERROR] at com.kenai.jffi.Init.load(Init.java:68)
[ERROR] at com.kenai.jffi.Foreign$InstanceHolder.getInstanceHolder(Foreign.java:49)
[ERROR] at com.kenai.jffi.Foreign$InstanceHolder.(Foreign.java:45)
[ERROR] at com.kenai.jffi.Foreign.getInstance(Foreign.java:103)
[ERROR] at com.kenai.jffi.Type$Builtin.lookupTypeInfo(Type.java:242)
[ERROR] at com.kenai.jffi.Type$Builtin.getTypeInfo(Type.java:237)
[ERROR] at com.kenai.jffi.Type.resolveSize(Type.java:155)
[ERROR] at com.kenai.jffi.Type.size(Type.java:138)
[ERROR] at jnr.ffi.provider.jffi.NativeRuntime$TypeDelegate.size(NativeRuntime.java:178)
[ERROR] at jnr.ffi.provider.AbstractRuntime.(AbstractRuntime.java:48)
[ERROR] at jnr.ffi.provider.jffi.NativeRuntime.(NativeRuntime.java:57)
[ERROR] at jnr.ffi.provider.jffi.NativeRuntime.(NativeRuntime.java:41)
[ERROR] at jnr.ffi.provider.jffi.NativeRuntime$SingletonHolder.(NativeRuntime.java:53)
[ERROR] at jnr.ffi.provider.jffi.NativeRuntime.getInstance(NativeRuntime.java:49)
[ERROR] at jnr.ffi.provider.jffi.Provider.(Provider.java:29)
[ERROR] at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[ERROR] at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[ERROR] at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[ERROR] at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
[ERROR] at java.base/java.lang.Class.newInstance(Class.java:584)
[ERROR] at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:68)
[ERROR] at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.(FFIProvider.java:57)
[ERROR] at jnr.ffi.provider.FFIProvider.getSystemProvider(FFIProvider.java:35)
[ERROR] at jnr.ffi.LibraryLoader.create(LibraryLoader.java:73)
[ERROR] at jnr.unixsocket.Native.(Native.java:76)
[ERROR] at jnr.unixsocket.UnixSocketChannel.(UnixSocketChannel.java:101)
[ERROR] at jnr.unixsocket.UnixSocketChannel.open(UnixSocketChannel.java:60)
[ERROR] at io.fabric8.maven.docker.access.util.LocalSocketUtil.canConnectUnixSocket(LocalSocketUtil.java:38)
[ERROR] at io.fabric8.maven.docker.access.DockerConnectionDetector$UnixSocketDockerHostProvider.getConnectionParameter(DockerConnectionDetector.java:109)
[ERROR] at io.fabric8.maven.docker.access.DockerConnectionDetector.detectConnectionParameter(DockerConnectionDetector.java:78)
[ERROR] at io.fabric8.maven.docker.service.DockerAccessFactory.createDockerAccess(DockerAccessFactory.java:34)
[ERROR] at io.fabric8.maven.docker.AbstractDockerMojo.execute(AbstractDockerMojo.java:227)
[ERROR] at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
[ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
[ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
[ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
[ERROR] at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
[ERROR] at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
[ERROR] at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
[ERROR] at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
[ERROR] at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
[ERROR] at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
[ERROR] at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
[ERROR] at org.apache.maven.cli.MavenCli.execute(MavenCli.java:956)
[ERROR] at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
[ERROR] at org.apache.maven.cli.MavenCli.main(MavenCli.java:192)
[ERROR] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[ERROR] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[ERROR] at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
[ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
[ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
[ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)
[ERROR] -> [Help 1]
Description
Info
mvn -v
) :3.6.1