Closed munishchouhan closed 5 months ago
Thank you for reaching out, can you please make sure to follow the following requirements
I installed all the required software mentioned in https://www.graalvm.org/latest/reference-manual/native-image/guides/build-static-executables/ But still getting Error: Now I am trying on Os: Ubuntu-22.04 Arch: amd64 (x86_64) Java: 17 and 21
1. It appears as though libz:.a is missing. Please install it.
Linker command executed:
/usr/bin/x86_64-linux-musl-gcc -z noexecstack -Wl,--gc-sections -Wl,--version-script,/tmp/SVM-4697601272570030653/exported_symbols.list -Wl,-x -o /home/ubuntu/wave-cli/app/build/native/nativeCompile/wave wave.o /home/ubuntu/.sdkman/candidates/java/17.0.9-graalce/lib/svm/clibraries/linux-amd64/liblibchelper.a /home/ubuntu/.sdkman/candidates/java/17.0.9-graalce/lib/static/linux-amd64/musl/libnet.a /home/ubuntu/.sdkman/candidates/java/17.0.9-graalce/lib/static/linux-amd64/musl/libextnet.a /home/ubuntu/.sdkman/candidates/java/17.0.9-graalce/lib/static/linux-amd64/musl/libnio.a /home/ubuntu/.sdkman/candidates/java/17.0.9-graalce/lib/static/linux-amd64/musl/libjava.a /home/ubuntu/.sdkman/candidates/java/17.0.9-graalce/lib/static/linux-amd64/musl/libfdlibm.a /home/ubuntu/.sdkman/candidates/java/17.0.9-graalce/lib/static/linux-amd64/musl/libzip.a /home/ubuntu/.sdkman/candidates/java/17.0.9-graalce/lib/svm/clibraries/linux-amd64/libjvm.a -static -v -L/tmp/SVM-4697601272570030653 -L/home/ubuntu/.sdkman/candidates/java/17.0.9-graalce/lib/static/linux-amd64/musl -L/home/ubuntu/.sdkman/candidates/java/17.0.9-graalce/lib/svm/clibraries/linux-amd64 -lz -lpthread -ldl -lrt
Linker command output:
Using built-in specs.
Reading specs from /usr/lib/x86_64-linux-musl/musl-gcc.specs
rename spec cpp_options to old_cpp_options
COLLECT_GCC=x86_64-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-XeT9lY/gcc-11-11.4.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-XeT9lY/gcc-11-11.4.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04)
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-z' 'noexecstack' '-o' '/home/ubuntu/wave-cli/app/build/native/nativeCompile/wave' '-static' '-v' '-L/tmp/SVM-4697601272570030653' '-L/home/ubuntu/.sdkman/candidates/java/17.0.9-graalce/lib/static/linux-amd64/musl' '-L/home/ubuntu/.sdkman/candidates/java/17.0.9-graalce/lib/svm/clibraries/linux-amd64' '-specs=/usr/lib/x86_64-linux-musl/musl-gcc.specs' '-mtune=generic' '-march=x86-64' '-dumpdir' '/home/ubuntu/wave-cli/app/build/native/nativeCompile/wave.'
/usr/lib/gcc/x86_64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/cc3O4qPW.res -plugin-opt=-pass-through=/usr/lib/gcc/x86_64-linux-gnu/11/libgcc.a -plugin-opt=-pass-through=/usr/lib/gcc/x86_64-linux-gnu/11/libgcc_eh.a -plugin-opt=-pass-through=-lc -dynamic-linker /lib/ld-musl-x86_64.so.1 -nostdlib -static -z relro -o /home/ubuntu/wave-cli/app/build/native/nativeCompile/wave -z noexecstack /usr/lib/x86_64-linux-musl/Scrt1.o /usr/lib/x86_64-linux-musl/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/tmp/SVM-4697601272570030653 -L/home/ubuntu/.sdkman/candidates/java/17.0.9-graalce/lib/static/linux-amd64/musl -L/home/ubuntu/.sdkman/candidates/java/17.0.9-graalce/lib/svm/clibraries/linux-amd64 -L/usr/lib/x86_64-linux-musl -L /usr/lib/gcc/x86_64-linux-gnu/11/. --gc-sections --version-script /tmp/SVM-4697601272570030653/exported_symbols.list -x wave.o /home/ubuntu/.sdkman/candidates/java/17.0.9-graalce/lib/svm/clibraries/linux-amd64/liblibchelper.a /home/ubuntu/.sdkman/candidates/java/17.0.9-graalce/lib/static/linux-amd64/musl/libnet.a /home/ubuntu/.sdkman/candidates/java/17.0.9-graalce/lib/static/linux-amd64/musl/libextnet.a /home/ubuntu/.sdkman/candidates/java/17.0.9-graalce/lib/static/linux-amd64/musl/libnio.a /home/ubuntu/.sdkman/candidates/java/17.0.9-graalce/lib/static/linux-amd64/musl/libjava.a /home/ubuntu/.sdkman/candidates/java/17.0.9-graalce/lib/static/linux-amd64/musl/libfdlibm.a /home/ubuntu/.sdkman/candidates/java/17.0.9-graalce/lib/static/linux-amd64/musl/libzip.a /home/ubuntu/.sdkman/candidates/java/17.0.9-graalce/lib/svm/clibraries/linux-amd64/libjvm.a -lz -lpthread -ldl -lrt --start-group /usr/lib/gcc/x86_64-linux-gnu/11/libgcc.a /usr/lib/gcc/x86_64-linux-gnu/11/libgcc_eh.a -lc --end-group /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/x86_64-linux-musl/crtn.o
/usr/bin/ld: cannot find -lz: No such file or directory
collect2: error: ld returned 1 exit status
Please inspect the generated error report at:
/home/ubuntu/wave-cli/app/build/native/nativeCompile/svm_err_b_20231215T133317.359_pid5787.md
If you are unable to resolve this problem, please file an issue with the error report at:
https://graalvm.org/support
Had the same issue. To workaround it I had to build latest (as of writing 1.3) zlib static with musl and put into ~/.cache/coursier/jvm/graalvm-java21@21.0.1/lib/static/linux-amd64/musl
, because I didn't figure how to configure the library search path for SBT based build. This is the file command output to confirm that it is statically build x86_64 ELF app. Tested it moving to another box, where we had problem with the dynamic due to different glibc before and it worked.
GraalVM community 21.0.1, because SBT and coursier are preconfigured to use community edition. Build host Ubuntu based. App tested on Ubuntu based and RHEL based systems.
app: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, with debug_info, not stripped
Are there any plans to enable static linking with musl on ARM64? What are the current reasons for these limitations?
https://www.graalvm.org/22.0/reference-manual/native-image/ARM64/
Describe the issue Native-image build for our CLI application is failing with GraalVM 21.0.1 and --libc=musl
It's working with GraalVM with Java version 17.0.8 in our other application https://github.com/seqeralabs/tower-cli
Steps to reproduce the issue Please include both build steps as well as run steps
Describe GraalVM and your environment:
More details Add any other information about the problem here. Especially important are stack traces or log output. Feel free to link to gists or to screenshots if necessary.