Open vaibhavkulkarni opened 2 years ago
Thanks for sharing the issue. We will take a look into it and get back to you.
I've faced a similar issue https://github.com/dainiusjocas/lucene-grep/runs/4463042596?check_suite_focus=true
The problem seems to be caused by some updates (on November 23rd) in the musl compiler tool-chain. I've tried to compile a native image with an older release of musl and it worked fine.
Here is my workaround https://github.com/dainiusjocas/lucene-grep/commit/87085077bcb7660268867d860f919686960c3ad8
Thanks for sharing the workaround @dainiusjocas. I confirm it works. This issue has already been reported with the native image team.
Had the same issue because in my Dockerfile I used the latest version of musl toolchain. I now use this version from musl.cc: https://more.musl.cc/10.2.1/x86_64-linux-musl/x86_64-linux-musl-native.tgz and it works!
Hi,
Anyone from the team reported the issue with latest musl
release?
Hey everyone :) As @dainiusjocas mentioned, this problem started happening due to a change in the gcc musl toolchain build process that started treating relocations in a read-only section at runtime as an error rather than a compile time warning. I don't think we can report this issue to the musl toolchain developers - this was probably an intended change from their side.
The reason why it fails with native-image is because a read only section that gets placed in a read only segment at runtime, .svm_heap
, has relocations that can only be resolved at program startup.
I don't see a trivial way to get rid of these relocations (I assume most of them come from method address relocations, for e.g. for the vtables).
As a workaround, it's probably best to use GCC 10.2.1 for cross-compiling to musl. Alternatively, there may be a ld
option that can prevent the linker from failing due to these relocations, but I'm not sure which one it is exactly :/
Tracked internally by GR-24601
Issue Env OS: Manjaro 21.2.0 Graal VM: 21.3.0 JDK Version: JDK 11 JAVA_HOME: Set to GRAALVM_HOME Musl Version: 11.2.1 20211120 (GCC) ARCH: AMD64
All the steps mentioned here are followed.
Steps to reproduce the issue
$GRAALVM_HOME/bin/javac TestStaicLinking.java
native-image --native-image-info --verbose --static --libc=musl TestStaticLinking