Skip to content

[native-image] Failed to build the native image when using java.prefs.Preferences #2086

@Pochatkin

Description

@Pochatkin

Hi! I have problem with native image of my app. In code i have usage of java.util.prefs.Preferences#userNodeForPackage and in the build process i get next error message

 Running command: cc -v -o path/jarName-1.0-SNAPSHOT -z noexecstack -Wl,--gc-sections -Wl,--dynamic-list -Wl,/tmp/SVM-17855889909661380037/exported_symbols.list -Wl,-x -L/tmp/SVM-17855889909661380037 -L/home/tools/graalvm-ce-java11-19.3.1/lib -L/home/tools/graalvm-ce-java11-19.3.1/lib/svm/clibraries/linux-amd64 /tmp/SVM-17855889909661380037/jarName-1.0-SNAPSHOT.o /home/tools/graalvm-ce-java11-19.3.1/lib/libnet.a /home/tools/graalvm-ce-java11-19.3.1/lib/libjava.a /home/tools/graalvm-ce-java11-19.3.1/lib/libzip.a /home/tools/graalvm-ce-java11-19.3.1/lib/libnio.a /home/tools/graalvm-ce-java11-19.3.1/lib/libextnet.a /home/tools/graalvm-ce-java11-19.3.1/lib/svm/clibraries/linux-amd64/libffi.a /home/tools/graalvm-ce-java11-19.3.1/lib/svm/clibraries/linux-amd64/libjvm.a /home/tools/graalvm-ce-java11-19.3.1/lib/svm/clibraries/linux-amd64/libstrictmath.a /home/tools/graalvm-ce-java11-19.3.1/lib/svm/clibraries/linux-amd64/liblibchelper.a -lpthread -ldl -lm -lz -lrt

 Using built-in specs.
 COLLECT_GCC=cc
 COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
 OFFLOAD_TARGET_NAMES=nvptx-none
 OFFLOAD_TARGET_DEFAULT=1
 Target: x86_64-linux-gnu
 Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.4.0-1ubuntu1~18.04.1' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --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 --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
 Thread model: posix
 gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1) 
 COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/
 LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/7/../../../:/lib/:/usr/lib/
 COLLECT_GCC_OPTIONS='-v' '-o' 'path/jarName-1.0-SNAPSHOT' '-z' 'noexecstack' '-L/tmp/SVM-17855889909661380037' '-L/home/tools/graalvm-ce-java11-19.3.1/lib' '-L/home/tools/graalvm-ce-java11-19.3.1/lib/svm/clibraries/linux-amd64' '-mtune=generic' '-march=x86-64'
 /usr/lib/gcc/x86_64-linux-gnu/7/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/7/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper -plugin-opt=-fresolution=/tmp/ccVStmKG.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o path/jarName-1.0-SNAPSHOT -z noexecstack /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/7/crtbeginS.o -L/tmp/SVM-17855889909661380037 -L/home/tools/graalvm-ce-java11-19.3.1/lib -L/home/tools/graalvm-ce-java11-19.3.1/lib/svm/clibraries/linux-amd64 -L/usr/lib/gcc/x86_64-linux-gnu/7 -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/7/../../.. --gc-sections --dynamic-list /tmp/SVM-17855889909661380037/exported_symbols.list -x /tmp/SVM-17855889909661380037/jarName-1.0-SNAPSHOT.o /home/tools/graalvm-ce-java11-19.3.1/lib/libnet.a /home/tools/graalvm-ce-java11-19.3.1/lib/libjava.a /home/tools/graalvm-ce-java11-19.3.1/lib/libzip.a /home/tools/graalvm-ce-java11-19.3.1/lib/libnio.a /home/tools/graalvm-ce-java11-19.3.1/lib/libextnet.a /home/tools/graalvm-ce-java11-19.3.1/lib/svm/clibraries/linux-amd64/libffi.a /home/tools/graalvm-ce-java11-19.3.1/lib/svm/clibraries/linux-amd64/libjvm.a /home/tools/graalvm-ce-java11-19.3.1/lib/svm/clibraries/linux-amd64/libstrictmath.a /home/tools/graalvm-ce-java11-19.3.1/lib/svm/clibraries/linux-amd64/liblibchelper.a -lpthread -ldl -lm -lz -lrt -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/7/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crtn.o
 /tmp/SVM-17855889909661380037/jarName-1.0-SNAPSHOT.o:(.data+0xae0): undefined reference to `Java_java_util_prefs_FileSystemPreferences_chmod'
 collect2: error: ld returned 1 exit status

	at com.oracle.svm.hosted.image.NativeBootImageViaCC.write(NativeBootImageViaCC.java:388)
	at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:652)
	at com.oracle.svm.hosted.NativeImageGenerator.lambda$run$0(NativeImageGenerator.java:445)
	at java.base/java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1407)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)
 Error: Image build request failed with exit status 1

Running at:


openjdk 11.0.6 2020-01-14
OpenJDK Runtime Environment GraalVM CE 19.3.1 (build 11.0.6+9-jvmci-19.3-b07)
OpenJDK 64-Bit Server VM GraalVM CE 19.3.1 (build 11.0.6+9-jvmci-19.3-b07, mixed mode, sharing)

And also i use options --initialize-at-build-time for few classes and --no-fallback, if this can help.

Thank you

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions