1

我在安装了 java-8-oracle 的 Ubuntu 14.04.3 LTS 上从源代码安装 Spinnaker。在启动 redis、C* 并配置 $HOME/.spinnaker/spinnaker-local.yml 之后,我运行

$SPINNAKER_HOME/build/spinnaker/dev/run_dev.sh

正如这里建议的那样。所有 Spinnaker 组件构建都失败,如下所示,并显示消息“无法从共享对象映射段:不允许操作”

FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'rush-core'.
> Failed to notify project evaluation listener.
   > /tmp/jna-dharmi/jna4851962221283619240.tmp: /tmp/jna-dharmi/jna4851962221283619240.tmp: failed to map segment from shared object: Operation not permitted
   > Could not initialize class nebula.plugin.info.ci.POSIXUtil
   > Could not initialize class nebula.plugin.info.ci.POSIXUtil

使用堆栈跟踪和调试标志,我在 clouddriver 上看到了与 JNA 相关的以下堆栈跟踪。

[org.gradle.BuildExceptionReporter] FAILURE: Build failed with an exception.
[org.gradle.BuildExceptionReporter]
[org.gradle.BuildExceptionReporter] * What went wrong:
[org.gradle.BuildExceptionReporter] A problem occurred configuring root project 'clouddriver'.
[org.gradle.BuildExceptionReporter] > Failed to notify project evaluation listener.
[org.gradle.BuildExceptionReporter]    > /tmp/jna-dharmi/jna4716337565952230017.tmp: /tmp/jna-dharmi/jna4716337565952230017.tmp: failed to map segment from shared object: Operation not permitted
[org.gradle.BuildExceptionReporter]
[org.gradle.BuildExceptionReporter] * Exception is:
[org.gradle.BuildExceptionReporter] org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project 'clouddriver'.
[org.gradle.BuildExceptionReporter]        at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:79)
[org.gradle.BuildExceptionReporter]        at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:74)
[org.gradle.BuildExceptionReporter]        at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:61)
[org.gradle.BuildExceptionReporter]        at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:496)
.....
[org.gradle.BuildExceptionReporter] Caused by: org.gradle.internal.event.ListenerNotificationException: Failed to notify project evaluation listener.
[org.gradle.BuildExceptionReporter]        at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:55)
[org.gradle.BuildExceptionReporter]        at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:79)
.....
[org.gradle.BuildExceptionReporter] Caused by: java.lang.UnsatisfiedLinkError: /tmp/jna-dharmi/jna4716337565952230017.tmp: /tmp/jna-dharmi/jna4716337565952230017.tmp: failed to map segment from shared object: Operation not permitted
[org.gradle.BuildExceptionReporter]        at com.sun.jna.Native.loadNativeLibraryFromJar(Native.java:752)
[org.gradle.BuildExceptionReporter]        at com.sun.jna.Native.loadNativeLibrary(Native.java:737)
org.gradle.BuildExceptionReporter]        at com.sun.jna.Native.<clinit>(Native.java:129)
[org.gradle.BuildExceptionReporter]        at nebula.plugin.info.ci.POSIXUtil.<clinit>(POSIXUtil.groovy:8)

'欣赏任何指针。

4

1 回答 1

2

更改 JNA 的 tmp 位置解决了该问题。

-Djna.tmpdir="/some/other/location"

参考链接

于 2016-02-19T10:13:37.520 回答