使用1.5 (或1.6的1.5可比较模式)构建的java程序提供了以下警告:
Java HotSpot(TM)服务器VM警告:您已经加载了库mynativelib.so,它可能禁用了堆栈保护。 VM现在将尝试修复堆栈保护。强烈建议您使用“execstack -c”修复库,或者将其链接到'-z noexecstack‘。
这似乎不会引起任何问题,但显然会让我们的客户感到有点害怕。我不认为在7中构建java位会解决这个问题,但我很难了解文档如何为Java 7构建JNI库,这也是警告意味着我应该做的事情。
那我该去哪找呢?
发布于 2013-11-04 03:13:43
在这里找到答案disabled stack guard warning (ACF9, JVM 1.7, Linux)
他说
这是Java7在Linux上的HotSpot编译器的一个特性,它试图阻止用C编写并链接到Java (所谓的JNI)的代码,如果编写得不好或恶意,就阻止整个VM。
发布于 2016-01-18 03:34:41
另一种可能是,您试图运行的Java+JNI应用程序是为Linux32bit编译的。
在这种情况下,有两种解决办法:
https://stackoverflow.com/questions/18889113
复制相似问题