I'm trying to make a grpc client in Scala and am using the statically
linked openssl provided by netty-tcnative-boringssl-static dependency. I
checked the dependency tree and believe I have all compatible versions of
grpc-netty (1.6.1), netty-codec-http2 (4.1.14.Final), and
netty-tcnative-boringssl-static (2.0.5.Final). I'm testing on osx, with apr
1.6.3.
My main() function first checks whether OpenSSL is available as follows:
def main(args: Array[String]): Unit = {
val hasOpenSsl = io.netty.handler.ssl.OpenSsl.isAvailable()
println("has openssl? " + hasOpenSsl)
println("stack trace: " +
io.netty.handler.ssl.OpenSsl.unavailabilityCause().printStackTrace())
Running the app produces:
has openssl? false
java.lang.IllegalArgumentException: Failed to load any of the given
libraries: [netty-tcnative-osx-x86_64, netty-tcnative, netty_tcnative]
at
io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:180)
at io.netty.handler.ssl.OpenSsl.loadTcNative(OpenSsl.java:423)
at io.netty.handler.ssl.OpenSsl.<clinit>(OpenSsl.java:91)
at
com.sevone.analytics.drivers.FoundationConsumerDriver$.main(FoundationConsumerDriver.scala:9)
at
com.sevone.analytics.drivers.FoundationConsumerDriver.main(FoundationConsumerDriver.scala)
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:497)
at
scala.reflect.internal.util.ScalaClassLoader.$anonfun$run$2(ScalaClassLoader.scala:99)
at
scala.reflect.internal.util.ScalaClassLoader.asContext(ScalaClassLoader.scala:34)
at
scala.reflect.internal.util.ScalaClassLoader.asContext$(ScalaClassLoader.scala:30)
at
scala.reflect.internal.util.ScalaClassLoader$URLClassLoader.asContext(ScalaClassLoader.scala:125)
at
scala.reflect.internal.util.ScalaClassLoader.run(ScalaClassLoader.scala:99)
at
scala.reflect.internal.util.ScalaClassLoader.run$(ScalaClassLoader.scala:91)
at
scala.reflect.internal.util.ScalaClassLoader$URLClassLoader.run(ScalaClassLoader.scala:125)
at scala.tools.nsc.CommonRunner.run(ObjectRunner.scala:22)
at scala.tools.nsc.CommonRunner.run$(ObjectRunner.scala:21)
at scala.tools.nsc.ObjectRunner$.run(ObjectRunner.scala:39)
at scala.tools.nsc.CommonRunner.runAndCatch(ObjectRunner.scala:29)
at scala.tools.nsc.CommonRunner.runAndCatch$(ObjectRunner.scala:28)
at scala.tools.nsc.ObjectRunner$.runAndCatch(ObjectRunner.scala:39)
at
scala.tools.nsc.MainGenericRunner.runTarget$1(MainGenericRunner.scala:66)
at scala.tools.nsc.MainGenericRunner.run$1(MainGenericRunner.scala:85)
at scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:96)
at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:101)
at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)
stack trace: ()
Subsequent to this, NettyChannelBuilder produces the "Jetty ALPN/NPN has
not been properly configured" exception.
My main question is: do I need to do some setup before checking for calling
OpenSsl.isAvailable(), or am I missing something else?
Thanks for any help!!
--
------------------------------
SevOne, Inc. reserves the right to monitor the transmission of this message
and to take corrective action against any misuse or abuse of its e-mail
system or other components of its network.
The information contained in this e-mail may be confidential and/or legally
privileged. It is intended solely for the addressee. If the reader of this
message is not an intended recipient, you are hereby notified that any
unauthorized review, use, disclosure, dissemination, distribution, or
copying of this communication, or any of its contents, is strictly
prohibited and may be unlawful. If you have received this communication in
error, please reply to the sender and destroy all copies of the message.
To contact us directly, send to [email protected].
--
You received this message because you are subscribed to the Google Groups
"Netty discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/netty/19cc71e8-64fc-4324-982c-e08412b886c2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.