netty / netty-tcnative

A fork of Apache Tomcat Native, based on finagle-native

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

macOS 12.4 M1 , error : java.lang.UnsatisfiedLinkError: no netty_tcnative_aarch_64 in java.library.path

phial3 opened this issue · comments

java.lang.UnsatisfiedLinkError: failed to load the required native library

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
	at org.junit.internal.runners.statements.RunBefores.invokeMethod(RunBefores.java:33)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
	at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
	at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
	at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
	at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)
	at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)
Caused by: java.lang.IllegalArgumentException: Failed to load any of the given libraries: [netty_tcnative_osx_aarch_64, netty_tcnative_aarch_64, netty_tcnative]
	at io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:114)
	at io.netty.handler.ssl.OpenSsl.loadTcNative(OpenSsl.java:705)
	at io.netty.handler.ssl.OpenSsl.<clinit>(OpenSsl.java:146)
	at io.grpc.netty.GrpcSslContexts.configure(GrpcSslContexts.java:169)
	at com.jd.hello.grpc.sdk.RpcServiceClient.getSslContextBuilder(RpcServiceClient.java:198)
	at com.jd.hello.grpc.sdk.RpcServiceClient.initManagedChannel(RpcServiceClient.java:141)
	... 33 more
	Suppressed: java.lang.LinkageError: Possible multiple incompatible native libraries on the classpath for '/var/folders/x1/1vlvl9vn3yzbzpkl4r34j5qh0000gn/T/libnetty_tcnative_osx_aarch_641291790477195647425.dylib'?
		at io.netty.util.internal.NativeLibraryLoader.rethrowWithMoreDetailsIfPossible(NativeLibraryLoader.java:409)
		at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:397)
		at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:218)
		at io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:105)
		... 38 more
	Caused by: java.lang.NoSuchMethodError: Method io.netty.internal.tcnative.NativeStaticallyReferencedJniMethods.sslRenegotiateNever()I not found
		at java.lang.ClassLoader$NativeLibrary.load(Native Method)
		at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1950)
		at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1832)
		at java.lang.Runtime.load0(Runtime.java:811)
		at java.lang.System.load(System.java:1088)
		at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:36)
		at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:391)
		... 40 more
		Suppressed: java.lang.UnsatisfiedLinkError
			at io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:438)
			at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:383)
			... 40 more
		Caused by: java.lang.reflect.InvocationTargetException
			at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
			at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
			at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
			at java.lang.reflect.Method.invoke(Method.java:498)
			at io.netty.util.internal.NativeLibraryLoader$1.run(NativeLibraryLoader.java:425)
			at java.security.AccessController.doPrivileged(Native Method)
			at io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:417)
			... 41 more
		Caused by: java.lang.NoSuchMethodError: Method io.netty.internal.tcnative.NativeStaticallyReferencedJniMethods.sslRenegotiateNever()I not found
			at java.lang.ClassLoader$NativeLibrary.load(Native Method)
			at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1950)
			at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1832)
			at java.lang.Runtime.load0(Runtime.java:811)
			at java.lang.System.load(System.java:1088)
			at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:36)
			... 48 more
	Suppressed: java.lang.UnsatisfiedLinkError: could not load a native library: netty_tcnative_aarch_64
		at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:239)
		at io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:105)
		... 38 more
	Caused by: java.io.FileNotFoundException: META-INF/native/libnetty_tcnative_aarch_64.jnilib
		at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:181)
		... 39 more
		Suppressed: java.lang.UnsatisfiedLinkError: no netty_tcnative_aarch_64 in java.library.path
			at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1875)
			at java.lang.Runtime.loadLibrary0(Runtime.java:872)
			at java.lang.System.loadLibrary(System.java:1124)
			at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38)
			at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:391)
			at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:161)
			... 39 more
			Suppressed: java.lang.UnsatisfiedLinkError: no netty_tcnative_aarch_64 in java.library.path
				at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1875)
				at java.lang.Runtime.loadLibrary0(Runtime.java:872)
				at java.lang.System.loadLibrary(System.java:1124)
				at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38)
				at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
				at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
				at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
				at java.lang.reflect.Method.invoke(Method.java:498)
				at io.netty.util.internal.NativeLibraryLoader$1.run(NativeLibraryLoader.java:425)
				at java.security.AccessController.doPrivileged(Native Method)
				at io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:417)
				at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:383)
				... 40 more
	Suppressed: java.lang.UnsatisfiedLinkError: could not load a native library: netty_tcnative
		at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:239)
		at io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:105)
		... 38 more
	Caused by: java.io.FileNotFoundException: META-INF/native/libnetty_tcnative.jnilib
		at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:181)
		... 39 more
		Suppressed: java.lang.UnsatisfiedLinkError: no netty_tcnative in java.library.path
			at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1875)
			at java.lang.Runtime.loadLibrary0(Runtime.java:872)
			at java.lang.System.loadLibrary(System.java:1124)
			at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38)
			at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:391)
			at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:161)
			... 39 more
			Suppressed: java.lang.UnsatisfiedLinkError: no netty_tcnative in java.library.path
				at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1875)
				at java.lang.Runtime.loadLibrary0(Runtime.java:872)
				at java.lang.System.loadLibrary(System.java:1124)
				at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38)
				at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
				at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
				at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
				at java.lang.reflect.Method.invoke(Method.java:498)
				at io.netty.util.internal.NativeLibraryLoader$1.run(NativeLibraryLoader.java:425)
				at java.security.AccessController.doPrivileged(Native Method)
				at io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:417)
				at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:383)
				... 40 more

you need to upgrade your netty-tcnative-boringssl-static version.

As @xianggao001 said, you're using the wrong tcnative version, and you may also have multiple tcnative dependencies on your class path:

	Suppressed: java.lang.LinkageError: Possible multiple incompatible native libraries on the classpath for '/var/folders/x1/1vlvl9vn3yzbzpkl4r34j5qh0000gn/T/libnetty_tcnative_osx_aarch_641291790477195647425.dylib'?
		at io.netty.util.internal.NativeLibraryLoader.rethrowWithMoreDetailsIfPossible(NativeLibraryLoader.java:409)
		at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:397)
		at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:218)
		at io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:105)
		... 38 more
	Caused by: java.lang.NoSuchMethodError: Method io.netty.internal.tcnative.NativeStaticallyReferencedJniMethods.sslRenegotiateNever()I not found

Make sure you only have one tcnative binary on your class path, and make sure it's the version specified in io.netty:netty-bom.