scalameta / sbt-native-image

Plugin to generate native-image binaries with sbt
248 stars 22 forks source link

Unable to run nativeImageAgent for GraalVM 21.x #43

Closed brendo-m closed 2 years ago

brendo-m commented 2 years ago

Describe the bug

Running nativeImageAgent with nativeImageVersion set to 21.x fails because of a missing library: Could not find agent library native-image-agent

To Reproduce Steps to reproduce the behavior:

  1. Set nativeImageVersion := "21.3.0" in build.sbt
  2. Run sbt nativeImageAgent

Expected behavior

It should run successfully just as it does in 20.x

Screenshots

❯ sbt buildNativeImage                                                                                                                                                       54s
...
[info] Error occurred during initialization of VM
[info] Could not find agent library native-image-agent on the library path, with error: dlopen(libnative-image-agent.dylib, 0x0001): tried: '/Users/brendan/Library/Caches/Coursier/jvm/graalvm-java11@21.3.0/Co
ntents/Home/lib/server/./libnative-image-agent.dylib' (no such file), '/Users/brendan/Library/Caches/Coursier/jvm/graalvm-java11@21.3.0/Contents/Home/lib/server/../libnative-image-agent.dylib' (no such file),
 '/Users/brendan/Library/Caches/Coursier/jvm/graalvm-java11@21.3.0/Contents/Home/bin/../lib/jli/libnative-image-agent.dylib' (no such file), 'libnative-image-agent.dylib' (no such file), '/usr/local/lib/libna
tive-image-agent.dylib' (no such file), '/usr/lib/libnative-image-agent.dylib' (no such file), '/Users/brendan/workspace/alfred-s3-workflow/libnative-image-agent.dylib' (no such file), '/usr/local/lib/libnati
ve-image-agent.dylib' (no such file), '/usr/lib/libnative-image-agent.dylib' (no such file)
[error] Nonzero exit code returned from runner: 1
[error] (Compile / run) Nonzero exit code returned from runner: 1
[error] Nonzero exit code returned from runner: 1
[error] (nativeImageRunAgent) Nonzero exit code returned from runner: 1
[error] Total time: 7 s, completed Nov 25, 2021, 9:53:23 PM

Installation:

Additional Context

Cousier is not downloading the lib so it may not be a problem in this repo, but I'm starting with this issue while I investigate in the hopes that someone has an easy fix.

❯ find ~/Library/Caches/Coursier/jvm/graalvm-java11@21.3.0/Contents -name libnative-image-agent.dylib
❯ find ~/Library/Caches/Coursier/jvm/graalvm-java11@20.2.0/Contents -name libnative-image-agent.dylib
/Users/brendan/Library/Caches/Coursier/jvm/graalvm-java11@20.2.0/Contents/Home/lib/libnative-image-agent.dylib

Search terms

nativeImageAgent

i10416 commented 2 years ago

@brendo-m Try running nativeImage command.

This may be relevant. https://github.com/scalameta/sbt-native-image/pull/37#issue-1014680422

brendo-m commented 2 years ago

Thanks, that fixed it.