I'm having issues with netty-tcnative and static-boring. I've been suggested by the vert.x team that this is a netty problem rather than a vert.x issue and asked to post here. Below is an outline of the problem. As far as I can tell, I meet all the requirements for 4.x <http://netty.io/wiki/requirements-for-4.x.html>. Is anyone able to shed some light?
I'm trying to run the vertx-grpc examples in Kotlin <https://github.com/AshleyByeUK/grpc> (running under Oracle Java, but the same issue happens with OpenJDK) on Ubuntu, but am having issues with the TLS example. I'm using `netty-tcnative` rather than the statically linked library. It runs without issue on macOS, but when I try running it on Ubuntu 17.04 I get the following exception: SEVERE: ALPN not available for JDK SSL/TLS engine io.vertx.core.VertxException: ALPN not available for JDK SSL/TLS engine at io.vertx.core.net.impl.SSLHelper.resolveEngineOptions(SSLHelper.java:89) at io.vertx.core.net.impl.SSLHelper.<init>(SSLHelper.java:150) at io.vertx.grpc.VertxChannelBuilder.build(VertxChannelBuilder.java:148) at uk.ashleybye.grpc.tls.Client.start(Client.kt:22) at io.vertx.core.AbstractVerticle.start(AbstractVerticle.java:111) at io.vertx.core.impl.DeploymentManager.lambda$doDeploy$8(DeploymentManager.java:434) at io.vertx.core.impl.ContextImpl.lambda$wrapTask$2(ContextImpl.java:337) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:445) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) at java.lang.Thread.run(Thread.java:748) `netty-tcnative` requires `openssl >= 1.0.2` and Apache Portable Runtime. I have: $ openssl version OpenSSL 1.0.2g 1 Mar 2016 $ apt show libapr1 Package: libapr1 Version: 1.5.2-5 As far as I can ascertain, the correct library location for libapr is `/usr/lib/x86_64-linux-gnu`: $ dpkg -L libapr1 /. /usr /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/libapr-1.so.0.5.2 /usr/share /usr/share/doc /usr/share/doc/libapr1 /usr/share/doc/libapr1/changelog.Debian.gz /usr/share/doc/libapr1/copyright /usr/share/lintian /usr/share/lintian/overrides /usr/share/lintian/overrides/libapr1 /usr/lib/x86_64-linux-gnu/libapr-1.so.0 And I have attempted to add the library to the `LD_LIBRARY_PATH` (as mentioned here <http://netty.io/wiki/forked-tomcat-native.html#prerequisites-for-dynamically-linked-netty-tcnative>) by creating `/etc/ld.so.conf.d/libapr.conf` and adding ` /usr/lib/x86_64-linux-gnu`. Running `sudo ldconfig`, and still nothing. Even adding it to the standard path does nothing. As far as I can tell, I have followed all of the instructions but it's still not working. What's more bemusing is that it runs fine on a different OS. It's worth nothing that `netty-tcnative` requires platform specific binaries, which I detect using the google `osdetector` plugin for gradle. This has detected the linux binary. However, even if I use ` netty-tcnative-boring-static` I still get the same exception. Switching up versions doesn't help either (although the 2x version didn't run on maxOS but using 1.1.33.Fork26 does). I've even installed the ` libnetty-tcnative-java` and `-jni` packages from apt but still no success. I'm at a complete loss and could really use some help getting this working. I've tried a few other places with no success and thought I'd reach out to the Vert.x community to see if anyone else has any ideas. Any suggestions? -- 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/41872118-ca7d-434e-abab-bd1e99cca92a%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
