Dharmi
Dharmi

Reputation: 1516

UnsatisfiedLinkError while building Spinnaker components

I am installing Spinnaker from source on Ubuntu 14.04.3 LTS with java-8-oracle installed. After bringing up redis, C* and configuring $HOME/.spinnaker/spinnaker-local.yml, I ran

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

as suggested here. All spinnaker component builds are failing as shown below, with the message "failed to map segment from shared object: Operation not permitted".

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

with stacktrace and debug flags, I see the below stacktrace related to JNA on clouddriver.

[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)

'appreciate any pointers.

Upvotes: 1

Views: 1380

Answers (1)

Dharmi
Dharmi

Reputation: 1516

Changing the tmp location for JNA resolved the issue.

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

reference link.

Upvotes: 2

Related Questions