-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Closed
Labels
Description
My team is evaluating whether we can use Graals native-image tool to ship binaries for our software. Some parts of our software is interacting with native code. We use the library JNA to do this. Therefore i have tested whether we can use JNA inside a native image created with Graal. In my tests i get the following error:
ld: library not found for -lhello
clang: error: linker command failed with exit code 1 (use -v to see invocation)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:593)
at java.util.concurrent.ForkJoinTask.get(ForkJoinTask.java:1005)
at com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:418)
at com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:278)
at com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:375)
at com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:104)
Caused by: java.lang.RuntimeException: host C compiler or linker does not seem to work: java.lang.RuntimeException: returned 1
The reproduction is available in this repo.
It would be great if JNA could work with Graal as many existing applications are build on top of it and it would be nice if we do not have to rewrite those parts.