Closed insinfo closed 2 years ago
I have the same error. in the target directory, I notice the java.dll copied from java_home is 0 bytes. if I add --language:js to the buildArgs, the error is gone.
Hi @insinfo. Thanks for reporting this issue. We will take a look into it and get back to you.
@rodrigar-mx Thanks for the feedback, I'm looking forward to being able to create native dynamic libraries in java to integrate with my flutter applications.
@mycybyby I can't understand your suggestion.
@mycybyby
Although it doesn't seem to make much sense, I followed your suggestion of adding the parameter "--language:js", but as you can see in the log this doesn't solve the problem.
java.dll is 0 bytes on \java_native\app\build\native\nativeBuild
plugins {
id 'application' //CLI application in Java
id 'org.graalvm.buildtools.native' version '0.9.4'
}
ext {
pdfboxVersion = '2.0.25'
}
repositories {
mavenCentral()
gradlePluginPortal()
}
dependencies {
implementation "org.apache.pdfbox:pdfbox:${pdfboxVersion}"
implementation "org.apache.pdfbox:preflight:${pdfboxVersion}"
implementation "commons-io:commons-io:2.5"
implementation 'javax.activation:activation:1.1.1'
// Required for Tiff extraction. See: https://pdfbox.apache.org/2.0/dependencies.html
// https://svn.apache.org/viewvc/pdfbox/trunk/parent/pom.xml?view=markup
implementation 'com.github.jai-imageio:jai-imageio-core:1.3.1'
// testImplementation 'org.junit.jupiter:junit-jupiter:5.8.1'
// implementation 'com.google.guava:guava:30.1.1-jre'
}
application {
mainClass = 'demo.Example'
}
nativeBuild {
imageName = 'Example'
mainClass = 'demo.Example'
verbose = true // Add verbose output, defaults to false
useFatJar = true
// Advanced options
// Passes '-H:Extra' to the native image builder options.
// This can be used to pass parameters which are not directly supported by this extension
buildArgs.add('--native-image-info')
buildArgs.add('--verbose')
buildArgs.add('--report-unsupported-elements-at-runtime')
buildArgs.add('--language:js')
buildArgs.add('--allow-incomplete-classpath')
// Development options
//agent = true // Enables the reflection agent. Can be also set on command line using '-Pagent'
}
C:\MyJavaProjects\java_native>.\gradlew nativeBuild
> Task :app:nativeBuild
[native-image-plugin] Args are: [-cp, C:\MyJavaProjects\java_native\app\build\libs\nativebuild-classpath.jar, --no-fallback, --verbose, -H:Path=C:\MyJavaProjects\java_native\app\build\native\nativeBuild, -H:Name=Example, -H:ConfigurationFileDirectories=C:\MyJavaProjects\java_native\app\build\native\generated\generateResourcesConfigFile, -H:Class=demo.Example, --native-image-info, --verbose, --report-unsupported-elements-at-runtime, --language:js, --allow-incomplete-classpath]
Executing [
'C:\src\graalvm-ce-java17-22.0.0.2\bin\java.exe' \
-XX:+UseParallelGC \
-XX:+UnlockExperimentalVMOptions \
-XX:+EnableJVMCI \
-Dtruffle.TrustAllTruffleRuntimeProviders=true \
-Dtruffle.TruffleRuntime=com.oracle.truffle.api.impl.DefaultTruffleRuntime \
-Dgraalvm.ForcePolyglotInvalid=true \
-Dgraalvm.locatorDisabled=true \
-Dsubstratevm.IgnoreGraalVersionCheck=true \
--add-exports=java.base/com.sun.crypto.provider=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.access.foreign=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.event=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.loader=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.logger=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.module=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.org.xml.sax.helpers=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.perf=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.platform=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.ref=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.reflect=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.util.xml.impl=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.util.xml=ALL-UNNAMED \
--add-exports=java.base/sun.invoke.util=ALL-UNNAMED \
--add-exports=java.base/sun.net=ALL-UNNAMED \
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.annotation=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.repository=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.tree=ALL-UNNAMED \
--add-exports=java.base/sun.security.jca=ALL-UNNAMED \
--add-exports=java.base/sun.security.provider=ALL-UNNAMED \
--add-exports=java.base/sun.security.ssl=ALL-UNNAMED \
--add-exports=java.base/sun.security.util=ALL-UNNAMED \
--add-exports=java.base/sun.text.spi=ALL-UNNAMED \
--add-exports=java.base/sun.util.calendar=ALL-UNNAMED \
--add-exports=java.base/sun.util.locale.provider=ALL-UNNAMED \
--add-exports=java.base/sun.util.resources=ALL-UNNAMED \
--add-exports=java.management/sun.management=ALL-UNNAMED \
--add-exports=java.xml.crypto/org.jcp.xml.dsig.internal.dom=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.aarch64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.amd64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.site=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.stack=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.common=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.meta=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.runtime=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.services=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.events=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.consumer=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.handlers=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.jfc=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal=ALL-UNNAMED \
-XX:+UseJVMCINativeLibrary \
-Xss10m \
-Xms1g \
-Djava.awt.headless=true \
-Dorg.graalvm.version=22.0.0.2 \
-Dorg.graalvm.config=CE \
-Dcom.oracle.graalvm.isaot=true \
-Djava.system.class.loader=com.oracle.svm.hosted.NativeImageSystemClassLoader \
-Xshare:off \
-Dtruffle.TruffleRuntime=com.oracle.svm.truffle.api.SubstrateTruffleRuntime \
-Dgraalvm.ForcePolyglotInvalid=false \
-Dpolyglot.image-build-time.PreinitializeContexts=js \
-Djdk.internal.lambda.disableEagerInitialization=true \
-Djdk.internal.lambda.eagerlyInitialize=false \
-Djava.lang.invoke.InnerClassLambdaMetafactory.initializeLambdas=false \
-Xmx13644028312 \
'-javaagent:C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\svm.jar' \
-cp \
'C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\native-image-base.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\objectfile.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\pointsto.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\svm.jar' \
--module-path \
'C:\src\graalvm-ce-java17-22.0.0.2\lib\truffle\truffle-api.jar' \
'com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus' \
-imagecp \
'C:\src\graalvm-ce-java17-22.0.0.2\languages\regex\tregex.jar;C:\src\graalvm-ce-java17-22.0.0.2\languages\js\graaljs.jar;C:\MyJavaProjects\java_native\app\build\libs\nativebuild-classpath.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\library-support.jar' \
'-H:Path=C:\MyJavaProjects\java_native\app\build\native\nativeBuild' \
-H:FallbackThreshold=0 \
'-H:Path=C:\MyJavaProjects\java_native\app\build\native\nativeBuild' \
-H:Name=Example \
'-H:ConfigurationFileDirectories=C:\MyJavaProjects\java_native\app\build\native\generated\generateResourcesConfigFile' \
-H:Class=demo.Example \
-H:+DumpTargetInfo \
-H:+ReportUnsupportedElementsAtRuntime \
-H:Features@--macro:truffle=com.oracle.svm.truffle.TruffleFeature,com.oracle.svm.truffle.TruffleBaseFeature,org.graalvm.home.HomeFinderFeature \
-H:MaxRuntimeCompileMethods@--macro:truffle=2000 \
-H:ClassInitialization@--macro:truffle=org.graalvm.launcher:build_time,com.oracle.truffle:build_time,org.graalvm.nativebridge:build_time \
-H:MaxRuntimeCompileMethods@--language:regex=900 \
-H:MaxRuntimeCompileMethods@--language:js=9200 \
-H:ClassInitialization@--language:js=com.oracle.truffle.js:build_time,com.oracle.js.parser:build_time,com.oracle.truffle.regex:build_time \
-H:ClassInitialization@--language:js=com.ibm.icu:run_time \
-H:ReflectionConfigurationResources@--language:js=com/oracle/truffle/js/runtime/resources/reflect-config.json \
-H:ResourceConfigurationResources@--language:js=com/oracle/truffle/js/runtime/resources/resource-config.json \
-H:+AllowIncompleteClasspath \
-H:FallbackThreshold=0 \
'-H:CLibraryPath=C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\clibraries\windows-amd64'
]
========================================================================================================================
GraalVM Native Image: Generating 'Example'...
========================================================================================================================
[1/7] Initializing... (6,8s @ 0,20GB)
Version info: 'GraalVM 22.0.0.2 Java 17 CE'
# Printing compilation-target information to: C:\MyJavaProjects\java_native\app\build\native\nativeBuild\reports\target_info_20220407_183359.txt
[2/7] Performing analysis... [********] (27,2s @ 1,54GB)
# Printing native-library information to: C:\MyJavaProjects\java_native\app\build\native\nativeBuild\reports\native_library_info_20220407_183427.txt
7.066 (92,99%) of 7.599 classes reachable
12.588 (72,07%) of 17.466 fields reachable
32.069 (80,18%) of 39.998 methods reachable
9 ( 0,02%) of 39.998 methods included for runtime compilation
342 classes, 99 fields, and 731 methods registered for reflection
71 classes, 54 fields, and 62 methods registered for JNI access
[3/7] Building universe... (1,3s @ 1,77GB)
[4/7] Parsing methods... [***] (5,9s @ 1,04GB)
[5/7] Inlining methods... [*****] (2,9s @ 1,64GB)
[6/7] Compiling methods... [*****] (26,8s @ 1,31GB)
[7/7] Creating image...
Fatal error: com.oracle.svm.core.util.VMError$HostedError: should not reach here
at com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:64)
at com.oracle.svm.hosted.jdk.JNIRegistrationSupport.makeShimDLL(JNIRegistrationSupport.java:256)
at com.oracle.svm.hosted.jdk.JNIRegistrationSupport.makeShimDLLs(JNIRegistrationSupport.java:230)
at com.oracle.svm.hosted.jdk.JNIRegistrationSupport.afterImageWrite(JNIRegistrationSupport.java:175)
at com.oracle.svm.hosted.NativeImageGenerator.lambda$doRun$8(NativeImageGenerator.java:680)
at com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:74)
at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:680)
at com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:494)
at com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:426)
at com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:587)
at com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:126)
at com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus.main(NativeImageGeneratorRunner.java:617)
------------------------------------------------------------------------------------------------------------------------
3,7s (4,7% of total time) in 27 GCs | Peak RSS: 5,22GB | CPU load: 3,44
------------------------------------------------------------------------------------------------------------------------
Produced artifacts:
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\Example.exe (executable)
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\awt.dll (jdk_lib)
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\javajpeg.dll (jdk_lib)
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\lcms.dll (jdk_lib)
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\Example.build_artifacts.txt
========================================================================================================================
Failed generating 'Example' after 1m 16s.
Error: Image build request failed with exit status 1
com.oracle.svm.driver.NativeImage$NativeImageError: Image build request failed with exit status 1
at com.oracle.svm.driver.NativeImage.showError(NativeImage.java:1770)
at com.oracle.svm.driver.NativeImage.build(NativeImage.java:1477)
at com.oracle.svm.driver.NativeImage.performBuild(NativeImage.java:1438)
at com.oracle.svm.driver.NativeImage.main(NativeImage.java:1425)
> Task :app:nativeBuild FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:nativeBuild'.
> Process 'command 'C:\src\graalvm-ce-java17-22.0.0.2\bin\native-image.cmd'' finished with non-zero exit value 1
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 1m 20s
5 actionable tasks: 1 executed, 4 up-to-date
C:\MyJavaProjects\java_native>
@insinfo sorry, my English is poor it is not a suggestion or solution,just what happing on my computer.
@insinfo I tested the project in MacOS, and I could build the native image successfully. I will check now on Windows.
I just tested it on Ubuntu 20.04 and it's also giving error on compilation, although it's a different error message
insinfo@ubuntu:~/src/java_native$ gradle nativeBuild
> Task :app:generateResourcesConfigFile
[native-image-plugin] Resources configuration written into /home/insinfo/src/java_native/app/build/native/generated/generateResourcesConfigFile/resource-config.json
> Task :app:nativeBuildClasspathJar
Encountered duplicate path "META-INF/DEPENDENCIES" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/NOTICE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/DEPENDENCIES" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/NOTICE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/DEPENDENCIES" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/NOTICE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
> Task :app:nativeBuild
[native-image-plugin] Args are: [-cp, /home/insinfo/src/java_native/app/build/libs/nativebuild-classpath.jar, --no-fallback, --verbose, -H:Path=/home/insinfo/src/java_native/app/build/native/nativeBuild, -H:Name=Example, -H:ConfigurationFileDirectories=/home/insinfo/src/java_native/app/build/native/generated/generateResourcesConfigFile, -H:Class=demo.Example, --native-image-info, --verbose, --report-unsupported-elements-at-runtime, --language:js, --allow-incomplete-classpath]
Executing [
/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/bin/java \
-XX:+UseParallelGC \
-XX:+UnlockExperimentalVMOptions \
-XX:+EnableJVMCI \
-Dtruffle.TrustAllTruffleRuntimeProviders=true \
-Dtruffle.TruffleRuntime=com.oracle.truffle.api.impl.DefaultTruffleRuntime \
-Dgraalvm.ForcePolyglotInvalid=true \
-Dgraalvm.locatorDisabled=true \
-Dsubstratevm.IgnoreGraalVersionCheck=true \
--add-exports=java.base/com.sun.crypto.provider=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.access.foreign=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.event=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.loader=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.logger=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.module=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.org.xml.sax.helpers=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.perf=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.platform=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.ref=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.reflect=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.util.xml.impl=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.util.xml=ALL-UNNAMED \
--add-exports=java.base/sun.invoke.util=ALL-UNNAMED \
--add-exports=java.base/sun.net=ALL-UNNAMED \
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.annotation=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.repository=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.tree=ALL-UNNAMED \
--add-exports=java.base/sun.security.jca=ALL-UNNAMED \
--add-exports=java.base/sun.security.provider=ALL-UNNAMED \
--add-exports=java.base/sun.security.ssl=ALL-UNNAMED \
--add-exports=java.base/sun.security.util=ALL-UNNAMED \
--add-exports=java.base/sun.text.spi=ALL-UNNAMED \
--add-exports=java.base/sun.util.calendar=ALL-UNNAMED \
--add-exports=java.base/sun.util.locale.provider=ALL-UNNAMED \
--add-exports=java.base/sun.util.resources=ALL-UNNAMED \
--add-exports=java.management/sun.management=ALL-UNNAMED \
--add-exports=java.xml.crypto/org.jcp.xml.dsig.internal.dom=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.aarch64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.amd64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.site=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.stack=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.common=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.meta=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.runtime=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.services=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.events=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.consumer=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.handlers=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.jfc=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal=ALL-UNNAMED \
-XX:+UseJVMCINativeLibrary \
-Xss10m \
-Xms1g \
-Djava.awt.headless=true \
-Dorg.graalvm.version=22.0.0.2 \
-Dorg.graalvm.config=CE \
-Dcom.oracle.graalvm.isaot=true \
-Djava.system.class.loader=com.oracle.svm.hosted.NativeImageSystemClassLoader \
-Xshare:off \
-Dtruffle.TruffleRuntime=com.oracle.svm.truffle.api.SubstrateTruffleRuntime \
-Dgraalvm.ForcePolyglotInvalid=false \
-Dpolyglot.image-build-time.PreinitializeContexts=js \
-Djdk.internal.lambda.disableEagerInitialization=true \
-Djdk.internal.lambda.eagerlyInitialize=false \
-Djava.lang.invoke.InnerClassLambdaMetafactory.initializeLambdas=false \
-Xmx6442450944 \
-javaagent:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/svm.jar \
-cp \
/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/objectfile.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/llvm-wrapper-shadowed.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/pointsto.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/svm-llvm.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/llvm-platform-specific-shadowed.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/svm.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/javacpp-shadowed.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/native-image-base.jar \
--module-path \
/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/truffle/truffle-api.jar \
'com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus' \
-watchpid \
7046 \
-imagecp \
/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/languages/regex/tregex.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/languages/js/graaljs.jar:/home/insinfo/src/java_native/app/build/libs/nativebuild-classpath.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/library-support.jar \
-H:Path=/home/insinfo/src/java_native/app/build/native/nativeBuild \
-H:FallbackThreshold=0 \
-H:Path=/home/insinfo/src/java_native/app/build/native/nativeBuild \
-H:Name=Example \
-H:ConfigurationFileDirectories=/home/insinfo/src/java_native/app/build/native/generated/generateResourcesConfigFile \
-H:Class=demo.Example \
-H:+DumpTargetInfo \
-H:+ReportUnsupportedElementsAtRuntime \
-H:Features@--macro:truffle=com.oracle.svm.truffle.TruffleFeature,com.oracle.svm.truffle.TruffleBaseFeature,org.graalvm.home.HomeFinderFeature \
-H:MaxRuntimeCompileMethods@--macro:truffle=2000 \
-H:ClassInitialization@--macro:truffle=org.graalvm.launcher:build_time,com.oracle.truffle:build_time,org.graalvm.nativebridge:build_time \
-H:MaxRuntimeCompileMethods@--language:regex=900 \
-H:MaxRuntimeCompileMethods@--language:js=9200 \
-H:ClassInitialization@--language:js=com.oracle.truffle.js:build_time,com.oracle.js.parser:build_time,com.oracle.truffle.regex:build_time \
-H:ClassInitialization@--language:js=com.ibm.icu:run_time \
-H:ReflectionConfigurationResources@--language:js=com/oracle/truffle/js/runtime/resources/reflect-config.json \
-H:ResourceConfigurationResources@--language:js=com/oracle/truffle/js/runtime/resources/resource-config.json \
-H:+AllowIncompleteClasspath \
-H:FallbackThreshold=0 \
-H:CLibraryPath=/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/clibraries/linux-amd64
]
========================================================================================================================
GraalVM Native Image: Generating 'Example'...
========================================================================================================================
[1/7] Initializing... (7,9s @ 0,21GB)
Version info: 'GraalVM 22.0.0.2 Java 17 CE'
# Printing compilation-target information to: /home/insinfo/src/java_native/app/build/native/nativeBuild/reports/target_info_20220411_125604.txt
[2/7] Performing analysis... [*******] (53,1s @ 0,99GB)
# Printing native-library information to: /home/insinfo/src/java_native/app/build/native/nativeBuild/reports/native_library_info_20220411_125658.txt
6.777 (92,27%) of 7.345 classes reachable
12.075 (71,53%) of 16.882 fields reachable
30.958 (79,55%) of 38.914 methods reachable
9 ( 0,02%) of 38.914 methods included for runtime compilation
311 classes, 99 fields, and 701 methods registered for reflection
59 classes, 59 fields, and 54 methods registered for JNI access
[3/7] Building universe... (1,9s @ 1,22GB)
[4/7] Parsing methods... [****] (12,4s @ 0,87GB)
[5/7] Inlining methods... [*****] (10,6s @ 1,28GB)
[6/7] Compiling methods... [*******] (53,6s @ 1,56GB)
[7/7] Creating image...
Fatal error: java.lang.RuntimeException: There was an error linking the native image: Linker command exited with 1
Linker command executed:
/usr/bin/gcc -z noexecstack -Wl,--gc-sections -Wl,--dynamic-list -Wl,/tmp/SVM-11384738180332608960/exported_symbols.list -Wl,--exclude-libs,ALL -Wl,-x -o /home/insinfo/src/java_native/app/build/native/nativeBuild/Example Example.o /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/clibraries/linux-amd64/liblibchelper.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/liblcms.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libawt_headless.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libawt.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libnet.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libjavajpeg.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libnio.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libjava.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libfdlibm.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libzip.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/clibraries/linux-amd64/libjvm.a -v -L/tmp/SVM-11384738180332608960 -L/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc -L/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/clibraries/linux-amd64 -lstdc++ -lm -lpthread -ldl -lz -lrt
Linker command output:
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --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-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 --with-target-system-zlib=auto --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=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr,hsa --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 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-z' 'noexecstack' '-o' '/home/insinfo/src/java_native/app/build/native/nativeBuild/Example' '-v' '-L/tmp/SVM-11384738180332608960' '-L/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc' '-L/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/clibraries/linux-amd64' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccizi2KC.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 --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 /home/insinfo/src/java_native/app/build/native/nativeBuild/Example -z noexecstack /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/tmp/SVM-11384738180332608960 -L/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc -L/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/clibraries/linux-amd64 -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../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/9/../../.. --gc-sections --dynamic-list /tmp/SVM-11384738180332608960/exported_symbols.list --exclude-libs ALL -x Example.o /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/clibraries/linux-amd64/liblibchelper.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/liblcms.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libawt_headless.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libawt.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libnet.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libjavajpeg.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libnio.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libjava.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libfdlibm.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libzip.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/clibraries/linux-amd64/libjvm.a -lstdc++ -lm -lpthread -ldl -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/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o
/usr/bin/ld: não foi possÃvel localizar -lz
collect2: error: ld returned 1 exit status
at com.oracle.svm.hosted.image.NativeImageViaCC.handleLinkerFailure(NativeImageViaCC.java:505)
at com.oracle.svm.hosted.image.NativeImageViaCC.write(NativeImageViaCC.java:452)
at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:674)
at com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:494)
at com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:426)
at com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:587)
at com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:126)
at com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus.main(NativeImageGeneratorRunner.java:617)
------------------------------------------------------------------------------------------------------------------------
8,5s (5,8% of total time) in 33 GCs | Peak RSS: 3,23GB | CPU load: 1,94
------------------------------------------------------------------------------------------------------------------------
Produced artifacts:
/home/insinfo/src/java_native/app/build/native/nativeBuild/Example.build_artifacts.txt
========================================================================================================================
Failed generating 'Example' after 2m 26s.
Error: Image build request failed with exit status 1
com.oracle.svm.driver.NativeImage$NativeImageError: Image build request failed with exit status 1
at com.oracle.svm.driver.NativeImage.showError(NativeImage.java:1770)
at com.oracle.svm.driver.NativeImage.build(NativeImage.java:1477)
at com.oracle.svm.driver.NativeImage.performBuild(NativeImage.java:1438)
at com.oracle.svm.driver.NativeImage.main(NativeImage.java:1425)
> Task :app:nativeBuild FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:nativeBuild'.
> Process 'command '/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/bin/native-image'' finished with non-zero exit value 1
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 2m 30s
5 actionable tasks: 3 executed, 2 up-to-date
insinfo@ubuntu:~/src/java_native$ uname -a
Linux ubuntu 5.13.0-28-generic #31~20.04.1-Ubuntu SMP Wed Jan 19 14:08:10 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
This error just means you don't have zlib installed
@petermz @rodrigar-mx
I managed to compile on Ubuntu after installing zlib, but when running the executable throws an error
Caused by: org.apache.commons.logging.LogConfigurationException: java.lang.ClassNotFoundException:
On Windows the same error VMError$HostedError: should not reach
sudo apt install zlib1g
sudo apt install zlib1g-dev
insinfo@ubuntu:~/src/java_native$ gradle nativeBuild
> Task :app:generateResourcesConfigFile
[native-image-plugin] Resources configuration written into /home/insinfo/src/java_native/app/build/native/generated/generateResourcesConfigFile/resource-config.json
> Task :app:nativeBuildClasspathJar
Encountered duplicate path "META-INF/DEPENDENCIES" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/NOTICE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.txt" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/NOTICE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/DEPENDENCIES" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/NOTICE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/DEPENDENCIES" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/NOTICE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.txt" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/NOTICE.txt" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
> Task :app:nativeBuild
[native-image-plugin] Args are: [-cp, /home/insinfo/src/java_native/app/build/libs/nativebuild-classpath.jar, --no-fallback, --verbose, -H:Path=/home/insinfo/src/java_native/app/build/native/nativeBuild, -H:Name=Example, -H:ConfigurationFileDirectories=/home/insinfo/src/java_native/app/build/native/generated/generateResourcesConfigFile, --allow-incomplete-classpath, -H:Class=demo.Example, --native-image-info, --verbose, --report-unsupported-elements-at-runtime, --allow-incomplete-classpath]
Executing [
/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/bin/java \
-XX:+UseParallelGC \
-XX:+UnlockExperimentalVMOptions \
-XX:+EnableJVMCI \
-Dtruffle.TrustAllTruffleRuntimeProviders=true \
-Dtruffle.TruffleRuntime=com.oracle.truffle.api.impl.DefaultTruffleRuntime \
-Dgraalvm.ForcePolyglotInvalid=true \
-Dgraalvm.locatorDisabled=true \
-Dsubstratevm.IgnoreGraalVersionCheck=true \
--add-exports=java.base/com.sun.crypto.provider=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.access.foreign=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.event=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.loader=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.logger=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.module=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.org.xml.sax.helpers=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.perf=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.platform=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.ref=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.reflect=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.util.xml.impl=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.util.xml=ALL-UNNAMED \
--add-exports=java.base/sun.invoke.util=ALL-UNNAMED \
--add-exports=java.base/sun.net=ALL-UNNAMED \
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.annotation=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.repository=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.tree=ALL-UNNAMED \
--add-exports=java.base/sun.security.jca=ALL-UNNAMED \
--add-exports=java.base/sun.security.provider=ALL-UNNAMED \
--add-exports=java.base/sun.security.ssl=ALL-UNNAMED \
--add-exports=java.base/sun.security.util=ALL-UNNAMED \
--add-exports=java.base/sun.text.spi=ALL-UNNAMED \
--add-exports=java.base/sun.util.calendar=ALL-UNNAMED \
--add-exports=java.base/sun.util.locale.provider=ALL-UNNAMED \
--add-exports=java.base/sun.util.resources=ALL-UNNAMED \
--add-exports=java.management/sun.management=ALL-UNNAMED \
--add-exports=java.xml.crypto/org.jcp.xml.dsig.internal.dom=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.aarch64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.amd64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.site=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.stack=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.common=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.meta=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.runtime=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.services=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.events=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.consumer=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.handlers=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.jfc=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal=ALL-UNNAMED \
-XX:+UseJVMCINativeLibrary \
-Xss10m \
-Xms1g \
-Xmx5000711368 \
-Djava.awt.headless=true \
-Dorg.graalvm.version=22.0.0.2 \
-Dorg.graalvm.config=CE \
-Dcom.oracle.graalvm.isaot=true \
-Djava.system.class.loader=com.oracle.svm.hosted.NativeImageSystemClassLoader \
-Xshare:off \
-Djdk.internal.lambda.disableEagerInitialization=true \
-Djdk.internal.lambda.eagerlyInitialize=false \
-Djava.lang.invoke.InnerClassLambdaMetafactory.initializeLambdas=false \
-javaagent:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/svm.jar \
-cp \
/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/objectfile.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/llvm-wrapper-shadowed.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/pointsto.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/svm-llvm.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/llvm-platform-specific-shadowed.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/svm.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/javacpp-shadowed.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/native-image-base.jar \
--module-path \
/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/truffle/truffle-api.jar \
'com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus' \
-watchpid \
7672 \
-imagecp \
/home/insinfo/src/java_native/app/build/libs/nativebuild-classpath.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/library-support.jar \
-H:Path=/home/insinfo/src/java_native/app/build/native/nativeBuild \
-H:FallbackThreshold=0 \
-H:Path=/home/insinfo/src/java_native/app/build/native/nativeBuild \
-H:Name=Example \
-H:ConfigurationFileDirectories=/home/insinfo/src/java_native/app/build/native/generated/generateResourcesConfigFile \
-H:+AllowIncompleteClasspath \
-H:Class=demo.Example \
-H:+DumpTargetInfo \
-H:+ReportUnsupportedElementsAtRuntime \
-H:+AllowIncompleteClasspath \
-H:CLibraryPath=/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/clibraries/linux-amd64
]
========================================================================================================================
GraalVM Native Image: Generating 'Example'...
========================================================================================================================
[1/7] Initializing... (6,8s @ 0,09GB)
Version info: 'GraalVM 22.0.0.2 Java 17 CE'
# Printing compilation-target information to: /home/insinfo/src/java_native/app/build/native/nativeBuild/reports/target_info_20220412_140209.txt
[2/7] Performing analysis... [*******] (54,4s @ 1,53GB)
# Printing native-library information to: /home/insinfo/src/java_native/app/build/native/nativeBuild/reports/native_library_info_20220412_140304.txt
5.559 (91,22%) of 6.094 classes reachable
9.594 (70,06%) of 13.693 fields reachable
26.142 (81,03%) of 32.261 methods reachable
301 classes, 93 fields, and 704 methods registered for reflection
59 classes, 59 fields, and 54 methods registered for JNI access
[3/7] Building universe... (4,1s @ 0,81GB)
[4/7] Parsing methods... [**] (3,4s @ 1,33GB)
[5/7] Inlining methods... [****] (5,0s @ 2,11GB)
[6/7] Compiling methods... [******] (43,4s @ 0,60GB)
[7/7] Creating image... (3,0s @ 1,22GB)
12,01MB (45,87%) for code area: 15.779 compilation units
11,89MB (45,44%) for image heap: 3.830 classes and 160.586 objects
2,28MB ( 8,69%) for other data
26,18MB in total
------------------------------------------------------------------------------------------------------------------------
Top 10 packages in code area: Top 10 object types in image heap:
792,08KB java.util 3,79MB byte[] for general heap data
600,72KB org.apache.fontbox.cff 1,34MB java.lang.String
566,59KB org.apache.pdfbox.pdmodel.font.encoding 1,23MB java.lang.Class
465,63KB com.sun.crypto.provider 913,93KB byte[] for java.lang.String
378,95KB java.lang.invoke 476,53KB java.util.HashMap$Node
359,25KB java.lang 276,05KB java.util.concurrent.ConcurrentHashMap$Node
355,30KB com.oracle.svm.core.reflect 275,81KB java.util.LinkedHashMap
323,67KB com.sun.imageio.plugins.tiff 275,48KB java.lang.String[]
288,55KB java.text 275,33KB java.util.HashMap$Node[]
277,19KB java.awt.image 211,80KB char[]
... 215 additional packages ... 1032 additional object types
(use GraalVM Dashboard to see all)
------------------------------------------------------------------------------------------------------------------------
8,8s (7,2% of total time) in 33 GCs | Peak RSS: 2,99GB | CPU load: 1,93
------------------------------------------------------------------------------------------------------------------------
Produced artifacts:
/home/insinfo/src/java_native/app/build/native/nativeBuild/Example (executable)
/home/insinfo/src/java_native/app/build/native/nativeBuild/Example.build_artifacts.txt
========================================================================================================================
Finished generating 'Example' in 2m 3s.
[native-image-plugin] Native Image written to: /home/insinfo/src/java_native/app/build/native/nativeBuild
BUILD SUCCESSFUL in 2m 7s
5 actionable tasks: 5 executed
insinfo@ubuntu:~/src/java_native$ ^C
insinfo@ubuntu:~/src/java_native$ /home/insinfo/src/java_native/app/build/native/nativeBuild/Example
Exception in thread "main" java.lang.ExceptionInInitializerError
at demo.Example.main(Example.java:14)
Caused by: org.apache.commons.logging.LogConfigurationException: java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl (Caused by java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl)
at org.apache.commons.logging.LogFactory.createFactory(LogFactory.java:1158)
at org.apache.commons.logging.LogFactory$2.run(LogFactory.java:960)
at java.security.AccessController.doPrivileged(AccessController.java:89)
at org.apache.commons.logging.LogFactory.newFactory(LogFactory.java:957)
at org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:624)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:655)
at org.apache.pdfbox.pdmodel.PDDocument.<clinit>(PDDocument.java:98)
... 1 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl
at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:54)
at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:141)
at org.apache.commons.logging.LogFactory.createFactory(LogFactory.java:1020)
... 7 more
insinfo@ubuntu:~/src/java_native$ cd /home/insinfo/src/java_native/app/build/native/nativeBuild/
insinfo@ubuntu:~/src/java_native/app/build/native/nativeBuild$ ls
Example Example.build_artifacts.txt reports
insinfo@ubuntu:~/src/java_native/app/build/native/nativeBuild$ ./Example
Exception in thread "main" java.lang.ExceptionInInitializerError
at demo.Example.main(Example.java:14)
Caused by: org.apache.commons.logging.LogConfigurationException: java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl (Caused by java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl)
at org.apache.commons.logging.LogFactory.createFactory(LogFactory.java:1158)
at org.apache.commons.logging.LogFactory$2.run(LogFactory.java:960)
at java.security.AccessController.doPrivileged(AccessController.java:89)
at org.apache.commons.logging.LogFactory.newFactory(LogFactory.java:957)
at org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:624)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:655)
at org.apache.pdfbox.pdmodel.PDDocument.<clinit>(PDDocument.java:98)
... 1 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl
at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:54)
at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:141)
at org.apache.commons.logging.LogFactory.createFactory(LogFactory.java:1020)
... 7 more
[7/7] Creating image...
Fatal error: com.oracle.svm.core.util.VMError$HostedError: should not reach here
at com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:64)
at com.oracle.svm.hosted.jdk.JNIRegistrationSupport.makeShimDLL(JNIRegistrationSupport.java:256)
------------------------------------------------------------------------------------------------------------------------
at com.oracle.svm.hosted.jdk.JNIRegistrationSupport.makeShimDLLs(JNIRegistrationSupport.java:230)
at com.oracle.svm.hosted.jdk.JNIRegistrationSupport.afterImageWrite(JNIRegistrationSupport.java:175)
at com.oracle.svm.hosted.NativeImageGenerator.lambda$doRun$8(NativeImageGenerator.java:680)
at com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:74)
at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:680)
at com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:494)
at com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:426)
at com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:587)
at com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:126)
at com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus.main(NativeImageGeneratorRunner.java:617)
4,8s (7,0% of total time) in 23 GCs | Peak RSS: 5,21GB | CPU load: 3,35
------------------------------------------------------------------------------------------------------------------------
Produced artifacts:
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\Example.exe (executable)
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\awt.dll (jdk_lib)
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\javajpeg.dll (jdk_lib)
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\lcms.dll (jdk_lib)
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\Example.build_artifacts.txt
========================================================================================================================
Failed generating 'Example' after 1m 7s.
Error: Image build request failed with exit status 1
com.oracle.svm.driver.NativeImage$NativeImageError: Image build request failed with exit status 1
at com.oracle.svm.driver.NativeImage.showError(NativeImage.java:1770)
at com.oracle.svm.driver.NativeImage.build(NativeImage.java:1477)
at com.oracle.svm.driver.NativeImage.performBuild(NativeImage.java:1438)
at com.oracle.svm.driver.NativeImage.main(NativeImage.java:1425)
> Task :app:nativeBuild FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:nativeBuild'.
> Process 'command 'C:\src\graalvm-ce-java17-22.0.0.2\bin\native-image.cmd'' finished with non-zero exit value 1
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 1m 10s
5 actionable tasks: 1 executed, 4 up-to-date
C:\MyJavaProjects\java_native>C:\MyJavaProjects\java_native\app\build\native\nativeBuild\Example.exe
Exception in thread "main" java.lang.ExceptionInInitializerError
at demo.Example.main(Example.java:14)
Caused by: org.apache.commons.logging.LogConfigurationException: java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl (Caused by java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl)
at org.apache.commons.logging.LogFactory.createFactory(LogFactory.java:1158)
at org.apache.commons.logging.LogFactory$2.run(LogFactory.java:960)
at java.security.AccessController.doPrivileged(AccessController.java:89)
at org.apache.commons.logging.LogFactory.newFactory(LogFactory.java:957)
at org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:624)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:655)
at org.apache.pdfbox.pdmodel.PDDocument.<clinit>(PDDocument.java:98)
... 1 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl
at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:54)
at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:141)
at org.apache.commons.logging.LogFactory.createFactory(LogFactory.java:1020)
... 7 more
C:\MyJavaProjects\java_native>
@insinfo The should not reach here
problem in Windows is specific to the JDK17
version of GraalVM, and is already described in issue #4072. There is a workaround described in that issue thread, but the easiest way for you is to use the JDK11
version of GraalVM, instead of the JDK17
version, in Windows.
The ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl
problem when running the resultant native executable, in both Windows (when successfully built) and Linux, is caused by the native-image agent: during the build it sometimes misses a lot of classes in the resultant native image, hence the ClassNotFoundException at runtime, especially about AWT classes. To fix this problem you shouldn't rely on the agent in your nativeBuild
configuration, but should explicitly generate the native-image config files yourself, to be used during the build. Here are some general steps for your build.gradle
:
build/cfg-files
folder:
ext {
configFiles = 'build/cfg-files'
}
run
block to include the native-image agent to generate the config files in build/cfg-files
:
run {
jvmArgs = ["-agentlib:native-image-agent=config-merge-dir=$configFiles"]
}
nativeBuild
block, add extra parameter -H:ConfigurationFileDirectories
pointing to the above build/cfg-files
folder, and comment out the agent
property as it's not needed anymore:
nativeBuild {
...
buildArgs.add('-H:ConfigurationFileDirectories=' + file(configFiles).path)
...
// Development options
//agent = true // Enables the reflection agent. Can be also set on command line using '-Pagent'
}
Now you can generate the native-image config files by running your app via the run
task: gradlew run
Make sure that the input file 1417.pdf
exists where your code expects it to be, otherwise the run
task would fail and doesn't properly generate the config files.
Then generate the native image with the nativeBuild
task: gradlew nativeBuild
The resultant native image may still fail at runtime, but that's for another time, as this comment is already too long :)
I followed what was suggested by @kkriske , and added the buildArgs -H:NativeLinkerOption ... and it now compiles correctly I also followed @chirontt's suggestion to add configFiles = 'build/cfg-files'
from what I could understand so there are two bugs, one is about compilation failure due to exports and another one that occurs at runtime because of failures of the native-image tool that generates the image without certain classes, when a version will be released correcting these bugs?
>#
># /out:C:\MyJavaProjects\java_native\app\build\native\nativeBuild\java.dll
># /dll
># /implib:java.lib
># /export:JDK_LoadSystemLibrary
># /export:JNU_CallMethodByName
># /export:JNU_CallMethodByNameV
># /export:JNU_CallStaticMethodByName
># /export:JNU_ClassString
># /export:JNU_GetEnv
># /export:JNU_GetFieldByName
># /export:JNU_GetStaticFieldByName
># /export:JNU_IsInstanceOfByName
># /export:JNU_NewObjectByName
># /export:JNU_NewStringPlatform
># /export:JNU_SetFieldByName
># /export:JNU_ThrowArrayIndexOutOfBoundsException
># /export:JNU_ThrowByName
># /export:JNU_ThrowIOException
># /export:JNU_ThrowIllegalArgumentException
># /export:JNU_ThrowInternalError
># /export:JNU_ThrowNullPointerException
># /export:JNU_ThrowOutOfMemoryError
># /export:getEncodingFromLangID
># /export:getJavaIDFromLangID
># /export:jio_snprintf
># C:\Users\isaque\AppData\Local\Temp\SVM-8435043556714420064\Example.lib
># msvcrt.lib
># LINK : warning LNK4001: nenhum arquivo de objeto especificado; bibliotecas usadas
># LINK : warning LNK4068: /MACHINE não especificada; padronizando para X64
># LINK : error LNK2001: sÃmbolo externo não resolvido JDK_LoadSystemLibrary
># LINK : error LNK2001: sÃmbolo externo não resolvido JNU_CallMethodByName
># LINK : error LNK2001: sÃmbolo externo não resolvido JNU_CallMethodByNameV
># LINK : error LNK2001: sÃmbolo externo não resolvido JNU_CallStaticMethodByName
># LINK : error LNK2001: sÃmbolo externo não resolvido JNU_ClassString
># LINK : error LNK2001: sÃmbolo externo não resolvido JNU_GetEnv
># LINK : error LNK2001: sÃmbolo externo não resolvido JNU_GetFieldByName
># LINK : error LNK2001: sÃmbolo externo não resolvido JNU_GetStaticFieldByName
># LINK : error LNK2001: sÃmbolo externo não resolvido JNU_IsInstanceOfByName
># LINK : error LNK2001: sÃmbolo externo não resolvido JNU_NewObjectByName
># LINK : error LNK2001: sÃmbolo externo não resolvido JNU_NewStringPlatform
># LINK : error LNK2001: sÃmbolo externo não resolvido JNU_SetFieldByName
># LINK : error LNK2001: sÃmbolo externo não resolvido JNU_ThrowArrayIndexOutOfBoundsException
># LINK : error LNK2001: sÃmbolo externo não resolvido JNU_ThrowByName
># LINK : error LNK2001: sÃmbolo externo não resolvido JNU_ThrowIOException
># LINK : error LNK2001: sÃmbolo externo não resolvido JNU_ThrowIllegalArgumentException
># LINK : error LNK2001: sÃmbolo externo não resolvido JNU_ThrowInternalError
># LINK : error LNK2001: sÃmbolo externo não resolvido JNU_ThrowNullPointerException
># LINK : error LNK2001: sÃmbolo externo não resolvido JNU_ThrowOutOfMemoryError
># java.lib : fatal error LNK1120: 19 externo não resolvidos
------------------------------------------------------------------------------------------------------------------------
5,6s (6,5% of total time) in 28 GCs | Peak RSS: 5,77GB | CPU load: 3,31
------------------------------------------------------------------------------------------------------------------------
Produced artifacts:
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\Example.exe (executable)
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\awt.dll (jdk_lib)
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\fontmanager.dll (jdk_lib)
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\freetype.dll (jdk_lib)
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\javaaccessbridge.dll (jdk_lib)
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\javajpeg.dll (jdk_lib)
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\jawt.dll (jdk_lib)
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\lcms.dll (jdk_lib)
Fatal error: com.oracle.svm.core.util.VMError$HostedError: should not reach here
at com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:64)
at com.oracle.svm.hosted.jdk.JNIRegistrationSupport.makeShimDLL(JNIRegistrationSupport.java:256)
at com.oracle.svm.hosted.jdk.JNIRegistrationSupport.makeShimDLLs(JNIRegistrationSupport.java:230)
at com.oracle.svm.hosted.jdk.JNIRegistrationSupport.afterImageWrite(JNIRegistrationSupport.java:175)
at com.oracle.svm.hosted.NativeImageGenerator.lambda$doRun$8(NativeImageGenerator.java:680)
at com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:74)
at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:680)
at com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:494)
at com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:426)
at com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:587)
at com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:126)
at com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus.main(NativeImageGeneratorRunner.java:617)
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\Example.build_artifacts.txt
========================================================================================================================
Execution failed for task ':app:nativeBuild'.
C:\MyJavaProjects\java_native>gradle nativeBuild
> Task :app:nativeBuild
[native-image-plugin] Args are: [-cp, C:\MyJavaProjects\java_native\app\build\libs\app.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.graalvm.buildtools\junit-platform-native\0.9.4\cd31b9ad07b34490c6c0bb7eb1fe63850ab46be5\junit-platform-native-0.9.4.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.apache.pdfbox\pdfbox\3.0.0-RC1\37aaf7c1b1f34bb627eb7be45a8a8efc3363c45c\pdfbox-3.0.0-RC1.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\com.hierynomus\sshj\0.32.0\6ad11126d4cdc86f47027f445a11233d0910c201\sshj-0.32.0.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.platform\junit-platform-console\1.7.2\f98888d66074f6c060054675ab8366885f077143\junit-platform-console-1.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.platform\junit-platform-reporting\1.7.2\8c6521bce2744fbce1c12a2088e05e754911213\junit-platform-reporting-1.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.platform\junit-platform-launcher\1.7.2\9bcb72e95d291c9ff45c3f8c0a054abc764b4205\junit-platform-launcher-1.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.jupiter\junit-jupiter\5.7.2\62faa742964a9d8dab8fdb4a0eab7b01441c171f\junit-jupiter-5.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.jupiter\junit-jupiter-engine\5.7.2\9415680a889f00b8205a094c5c487bc69dc7077d\junit-jupiter-engine-5.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.platform\junit-platform-engine\1.7.2\2573770b46b8a199ed5f6b0f96fb99e468bfe891\junit-platform-engine-1.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.jupiter\junit-jupiter-params\5.7.2\685f832f8c54dd40100f646d61aca88ed9545421\junit-jupiter-params-5.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.jupiter\junit-jupiter-api\5.7.2\f4b4079732a9c537983324cfa4e46655f21d2c56\junit-jupiter-api-5.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.platform\junit-platform-commons\1.7.2\34adfea6c13fc4a996cf38cdad80800ce850d198\junit-platform-commons-1.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.apache.pdfbox\fontbox\3.0.0-RC1\1cbfa55db29671dadcf837817eb9920ed4a83cf4\fontbox-3.0.0-RC1.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\commons-logging\commons-logging\1.2\4bfc12adfe4842bf07b657f0369c4cb522955686\commons-logging-1.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\com.hierynomus\asn-one\0.6.0\7f6141541e0a4d3ae0b02c901c2c1e9a772eb3d7\asn-one-0.6.0.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-api\1.7.32\cdcff33940d9f2de763bc41ea05a0be5941176c3\slf4j-api-1.7.32.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.bouncycastle\bcpkix-jdk15on\1.69\45c36fb72fafb0b688c6af795e6cc803f6f79ee5\bcpkix-jdk15on-1.69.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.bouncycastle\bcutil-jdk15on\1.69\c3edf93d346e97f64f041e448e7455c39c7eff64\bcutil-jdk15on-1.69.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.bouncycastle\bcprov-jdk15on\1.69\91e1628251cf3ca90093ce9d0fe67e5b7dab3850\bcprov-jdk15on-1.69.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\com.jcraft\jzlib\1.1.3\c01428efa717624f7aabf4df319939dda9646b2d\jzlib-1.1.3.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\net.i2p.crypto\eddsa\0.3.0\1901c8d4d8bffb7d79027686cfb91e704217c3e1\eddsa-0.3.0.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.apiguardian\apiguardian-api\1.1.0\fc9dff4bb36d627bdc553de77e1f17efd790876c\apiguardian-api-1.1.0.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.opentest4j\opentest4j\1.2.0\28c11eb91f9b6d8e200631d46e20a7f407f2a046\opentest4j-1.2.0.jar, --no-fallback, --verbose, -H:Path=C:\MyJavaProjects\java_native\app\build\native\nativeBuild, -H:Name=Example, -H:ConfigurationFileDirectories=C:\MyJavaProjects\java_native\app\build\native\generated\generateResourcesConfigFile, -H:Class=demo.Example, --native-image-info, --verbose, --report-unsupported-elements-at-runtime, --enable-url-protocols=https, -H:ConfigurationFileDirectories=C:\MyJavaProjects\java_native\app\build\cfg-files, -H:+TraceNativeToolUsage, -H:NativeLinkerOption=/export:JDK_LoadSystemLibrary, -H:NativeLinkerOption=/export:JNU_CallMethodByName, -H:NativeLinkerOption=/export:JNU_CallMethodByNameV, -H:NativeLinkerOption=/export:JNU_CallStaticMethodByName, -H:NativeLinkerOption=/export:JNU_ClassString, -H:NativeLinkerOption=/export:JNU_GetEnv, -H:NativeLinkerOption=/export:JNU_GetFieldByName, -H:NativeLinkerOption=/export:JNU_GetStaticFieldByName, -H:NativeLinkerOption=/export:JNU_IsInstanceOfByName, -H:NativeLinkerOption=/export:JNU_NewObjectByName, -H:NativeLinkerOption=/export:JNU_NewStringPlatform, -H:NativeLinkerOption=/export:JNU_SetFieldByName, -H:NativeLinkerOption=/export:JNU_ThrowArrayIndexOutOfBoundsException, -H:NativeLinkerOption=/export:JNU_ThrowByName, -H:NativeLinkerOption=/export:JNU_ThrowIOException, -H:NativeLinkerOption=/export:JNU_ThrowIllegalArgumentException, -H:NativeLinkerOption=/export:JNU_ThrowInternalError, -H:NativeLinkerOption=/export:JNU_ThrowNullPointerException, -H:NativeLinkerOption=/export:JNU_ThrowOutOfMemoryError, --allow-incomplete-classpath]
Executing [
'C:\src\graalvm-ce-java17-22.0.0.2\bin\java.exe' \
-XX:+UseParallelGC \
-XX:+UnlockExperimentalVMOptions \
-XX:+EnableJVMCI \
-Dtruffle.TrustAllTruffleRuntimeProviders=true \
-Dtruffle.TruffleRuntime=com.oracle.truffle.api.impl.DefaultTruffleRuntime \
-Dgraalvm.ForcePolyglotInvalid=true \
-Dgraalvm.locatorDisabled=true \
-Dsubstratevm.IgnoreGraalVersionCheck=true \
--add-exports=java.base/com.sun.crypto.provider=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.access.foreign=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.event=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.loader=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.logger=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.module=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.org.xml.sax.helpers=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.perf=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.platform=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.ref=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.reflect=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.util.xml.impl=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.util.xml=ALL-UNNAMED \
--add-exports=java.base/sun.invoke.util=ALL-UNNAMED \
--add-exports=java.base/sun.net=ALL-UNNAMED \
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.annotation=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.repository=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.tree=ALL-UNNAMED \
--add-exports=java.base/sun.security.jca=ALL-UNNAMED \
--add-exports=java.base/sun.security.provider=ALL-UNNAMED \
--add-exports=java.base/sun.security.ssl=ALL-UNNAMED \
--add-exports=java.base/sun.security.util=ALL-UNNAMED \
--add-exports=java.base/sun.text.spi=ALL-UNNAMED \
--add-exports=java.base/sun.util.calendar=ALL-UNNAMED \
--add-exports=java.base/sun.util.locale.provider=ALL-UNNAMED \
--add-exports=java.base/sun.util.resources=ALL-UNNAMED \
--add-exports=java.management/sun.management=ALL-UNNAMED \
--add-exports=java.xml.crypto/org.jcp.xml.dsig.internal.dom=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.aarch64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.amd64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.site=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.stack=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.common=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.meta=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.runtime=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.services=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.events=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.consumer=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.handlers=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.jfc=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal=ALL-UNNAMED \
-XX:+UseJVMCINativeLibrary \
-Xss10m \
-Xms1g \
-Xmx13644028312 \
-Djava.awt.headless=true \
-Dorg.graalvm.version=22.0.0.2 \
-Dorg.graalvm.config=CE \
-Dcom.oracle.graalvm.isaot=true \
-Djava.system.class.loader=com.oracle.svm.hosted.NativeImageSystemClassLoader \
-Xshare:off \
-Djdk.internal.lambda.disableEagerInitialization=true \
-Djdk.internal.lambda.eagerlyInitialize=false \
-Djava.lang.invoke.InnerClassLambdaMetafactory.initializeLambdas=false \
'-javaagent:C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\svm.jar' \
-cp \
'C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\native-image-base.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\objectfile.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\pointsto.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\svm.jar' \
--module-path \
'C:\src\graalvm-ce-java17-22.0.0.2\lib\truffle\truffle-api.jar' \
'com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus' \
-imagecp \
'C:\MyJavaProjects\java_native\app\build\libs\app.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.graalvm.buildtools\junit-platform-native\0.9.4\cd31b9ad07b34490c6c0bb7eb1fe63850ab46be5\junit-platform-native-0.9.4.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.apache.pdfbox\pdfbox\3.0.0-RC1\37aaf7c1b1f34bb627eb7be45a8a8efc3363c45c\pdfbox-3.0.0-RC1.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\com.hierynomus\sshj\0.32.0\6ad11126d4cdc86f47027f445a11233d0910c201\sshj-0.32.0.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.platform\junit-platform-console\1.7.2\f98888d66074f6c060054675ab8366885f077143\junit-platform-console-1.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.platform\junit-platform-reporting\1.7.2\8c6521bce2744fbce1c12a2088e05e754911213\junit-platform-reporting-1.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.platform\junit-platform-launcher\1.7.2\9bcb72e95d291c9ff45c3f8c0a054abc764b4205\junit-platform-launcher-1.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.jupiter\junit-jupiter\5.7.2\62faa742964a9d8dab8fdb4a0eab7b01441c171f\junit-jupiter-5.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.jupiter\junit-jupiter-engine\5.7.2\9415680a889f00b8205a094c5c487bc69dc7077d\junit-jupiter-engine-5.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.platform\junit-platform-engine\1.7.2\2573770b46b8a199ed5f6b0f96fb99e468bfe891\junit-platform-engine-1.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.jupiter\junit-jupiter-params\5.7.2\685f832f8c54dd40100f646d61aca88ed9545421\junit-jupiter-params-5.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.jupiter\junit-jupiter-api\5.7.2\f4b4079732a9c537983324cfa4e46655f21d2c56\junit-jupiter-api-5.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.platform\junit-platform-commons\1.7.2\34adfea6c13fc4a996cf38cdad80800ce850d198\junit-platform-commons-1.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.apache.pdfbox\fontbox\3.0.0-RC1\1cbfa55db29671dadcf837817eb9920ed4a83cf4\fontbox-3.0.0-RC1.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\commons-logging\commons-logging\1.2\4bfc12adfe4842bf07b657f0369c4cb522955686\commons-logging-1.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\com.hierynomus\asn-one\0.6.0\7f6141541e0a4d3ae0b02c901c2c1e9a772eb3d7\asn-one-0.6.0.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-api\1.7.32\cdcff33940d9f2de763bc41ea05a0be5941176c3\slf4j-api-1.7.32.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.bouncycastle\bcpkix-jdk15on\1.69\45c36fb72fafb0b688c6af795e6cc803f6f79ee5\bcpkix-jdk15on-1.69.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.bouncycastle\bcutil-jdk15on\1.69\c3edf93d346e97f64f041e448e7455c39c7eff64\bcutil-jdk15on-1.69.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.bouncycastle\bcprov-jdk15on\1.69\91e1628251cf3ca90093ce9d0fe67e5b7dab3850\bcprov-jdk15on-1.69.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\com.jcraft\jzlib\1.1.3\c01428efa717624f7aabf4df319939dda9646b2d\jzlib-1.1.3.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\net.i2p.crypto\eddsa\0.3.0\1901c8d4d8bffb7d79027686cfb91e704217c3e1\eddsa-0.3.0.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.apiguardian\apiguardian-api\1.1.0\fc9dff4bb36d627bdc553de77e1f17efd790876c\apiguardian-api-1.1.0.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.opentest4j\opentest4j\1.2.0\28c11eb91f9b6d8e200631d46e20a7f407f2a046\opentest4j-1.2.0.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\library-support.jar' \
'-H:Path=C:\MyJavaProjects\java_native\app\build\native\nativeBuild' \
-H:FallbackThreshold=0 \
'-H:Path=C:\MyJavaProjects\java_native\app\build\native\nativeBuild' \
-H:Name=Example \
'-H:ConfigurationFileDirectories=C:\MyJavaProjects\java_native\app\build\native\generated\generateResourcesConfigFile' \
-H:Class=demo.Example \
-H:+DumpTargetInfo \
-H:+ReportUnsupportedElementsAtRuntime \
-H:EnableURLProtocols=https \
'-H:ConfigurationFileDirectories=C:\MyJavaProjects\java_native\app\build\cfg-files' \
-H:+TraceNativeToolUsage \
-H:NativeLinkerOption=/export:JDK_LoadSystemLibrary \
-H:NativeLinkerOption=/export:JNU_CallMethodByName \
-H:NativeLinkerOption=/export:JNU_CallMethodByNameV \
-H:NativeLinkerOption=/export:JNU_CallStaticMethodByName \
-H:NativeLinkerOption=/export:JNU_ClassString \
-H:NativeLinkerOption=/export:JNU_GetEnv \
-H:NativeLinkerOption=/export:JNU_GetFieldByName \
-H:NativeLinkerOption=/export:JNU_GetStaticFieldByName \
-H:NativeLinkerOption=/export:JNU_IsInstanceOfByName \
-H:NativeLinkerOption=/export:JNU_NewObjectByName \
-H:NativeLinkerOption=/export:JNU_NewStringPlatform \
-H:NativeLinkerOption=/export:JNU_SetFieldByName \
-H:NativeLinkerOption=/export:JNU_ThrowArrayIndexOutOfBoundsException \
-H:NativeLinkerOption=/export:JNU_ThrowByName \
-H:NativeLinkerOption=/export:JNU_ThrowIOException \
-H:NativeLinkerOption=/export:JNU_ThrowIllegalArgumentException \
-H:NativeLinkerOption=/export:JNU_ThrowInternalError \
-H:NativeLinkerOption=/export:JNU_ThrowNullPointerException \
-H:NativeLinkerOption=/export:JNU_ThrowOutOfMemoryError \
-H:+AllowIncompleteClasspath \
'-H:CLibraryPath=C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\clibraries\windows-amd64'
]
========================================================================================================================
GraalVM Native Image: Generating 'Example'...
========================================================================================================================
[1/7] Initializing... (7,4s @ 0,14GB)
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe'
># Microsoft (R) C/C++ Optimizing Compiler Versão 19.29.30133 para x64
># Copyright (C) Microsoft Corporation. Todos os direitos reservados.
>#
># uso: cl [ option... ] filename... [ /link linkoption... ]
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe' /WX /W4 /wd4244 /wd4245 /wd4800 /wd4804 /wd4214 '/FeC:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\BuiltinDirectives.exe' 'C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\BuiltinDirectives.c'
># BuiltinDirectives.c
># Microsoft (R) Incremental Linker Version 14.29.30133.0
># Copyright (C) Microsoft Corporation. All rights reserved.
>#
># /out:C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\BuiltinDirectives.exe
># BuiltinDirectives.obj
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe' /WX /W4 /wd4244 /wd4245 /wd4800 /wd4804 /wd4214 '/FeC:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\AArch64LibCHelperDirectives.exe' 'C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\AArch64LibCHelperDirectives.c'
># AArch64LibCHelperDirectives.c
># Microsoft (R) Incremental Linker Version 14.29.30133.0
># Copyright (C) Microsoft Corporation. All rights reserved.
>#
># /out:C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\AArch64LibCHelperDirectives.exe
># AArch64LibCHelperDirectives.obj
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe' /WX /W4 /wd4244 /wd4245 /wd4800 /wd4804 /wd4214 '/FeC:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\AMD64LibCHelperDirectives.exe' 'C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\AMD64LibCHelperDirectives.c'
># AMD64LibCHelperDirectives.c
># Microsoft (R) Incremental Linker Version 14.29.30133.0
># Copyright (C) Microsoft Corporation. All rights reserved.
>#
># /out:C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\AMD64LibCHelperDirectives.exe
># AMD64LibCHelperDirectives.obj
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe' /WX /W4 /wd4244 /wd4245 /wd4800 /wd4804 /wd4214 '/FeC:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\WindowsDirectives.exe' 'C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\WindowsDirectives.c'
># WindowsDirectives.c
># Microsoft (R) Incremental Linker Version 14.29.30133.0
># Copyright (C) Microsoft Corporation. All rights reserved.
>#
># /out:C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\WindowsDirectives.exe
># WindowsDirectives.obj
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe' /WX /W4 /wd4244 /wd4245 /wd4800 /wd4804 /wd4214 '-IC:\src\graalvm-ce-java17-22.0.0.2\include\win32' '/FeC:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\JNIHeaderDirectives.exe' 'C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\JNIHeaderDirectives.c'
># JNIHeaderDirectives.c
># Microsoft (R) Incremental Linker Version 14.29.30133.0
># Copyright (C) Microsoft Corporation. All rights reserved.
>#
># /out:C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\JNIHeaderDirectives.exe
># JNIHeaderDirectives.obj
Version info: 'GraalVM 22.0.0.2 Java 17 CE'
# Printing compilation-target information to: C:\MyJavaProjects\java_native\app\build\native\nativeBuild\reports\target_info_20220418_122330.txt
[2/7] Performing analysis... [***********] (36,0s @ 1,68GB)
Warning: Could not register complete reflection metadata for org.apache.commons.logging.impl.Log4JLogger. Reason(s): java.lang.NoClassDefFoundError: org/apache/log4j/Priority
# Printing native-library information to: C:\MyJavaProjects\java_native\app\build\native\nativeBuild\reports\native_library_info_20220418_122406.txt
7.142 (93,56%) of 7.634 classes reachable
12.159 (68,17%) of 17.836 fields reachable
33.531 (82,81%) of 40.493 methods reachable
380 classes, 95 fields, and 781 methods registered for reflection
89 classes, 108 fields, and 76 methods registered for JNI access
[3/7] Building universe... (2,2s @ 2,12GB)
[4/7] Parsing methods... [*] (1,9s @ 2,81GB)
[5/7] Inlining methods... [****] (3,7s @ 2,33GB)
[6/7] Compiling methods... [*****] (26,5s @ 1,84GB)
[7/7] Creating image... (3,0s @ 2,58GB)
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe' '/FeC:\MyJavaProjects\java_native\app\build\native\nativeBuild\Example.exe' Example.obj 'C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\clibraries\windows-amd64\libchelper.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\net.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\nio.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\java.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\fdlibm.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\sunmscapi.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\zip.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\clibraries\windows-amd64\jvm.lib' /MD 'C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\clibraries\windows-amd64\libchelper.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\net.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\nio.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\java.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\fdlibm.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\sunmscapi.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\zip.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\clibraries\windows-amd64\jvm.lib' /link /INCREMENTAL:NO /NODEFAULTLIB:LIBCMT /FILEALIGN:4096 '/IMPLIB:C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\Example.lib' '/LIBPATH:C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64' '/LIBPATH:C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\clibraries\windows-amd64' winhttp.lib ncrypt.lib crypt32.lib version.lib advapi32.lib ws2_32.lib secur32.lib iphlpapi.lib userenv.lib setargv.obj /include:JDK_LoadSystemLibrary /include:getEncodingFromLangID /include:getJavaIDFromLangID shell32.lib /export:JDK_LoadSystemLibrary /export:JNU_CallMethodByName /export:JNU_CallMethodByNameV /export:JNU_CallStaticMethodByName /export:JNU_ClassString /export:JNU_GetEnv /export:JNU_GetFieldByName /export:JNU_GetStaticFieldByName /export:JNU_IsInstanceOfByName /export:JNU_NewObjectByName /export:JNU_NewStringPlatform /export:JNU_SetFieldByName /export:JNU_ThrowArrayIndexOutOfBoundsException /export:JNU_ThrowByName /export:JNU_ThrowIOException /export:JNU_ThrowIllegalArgumentException /export:JNU_ThrowInternalError /export:JNU_ThrowNullPointerException /export:JNU_ThrowOutOfMemoryError
># Microsoft (R) C/C++ Optimizing Compiler Versão 19.29.30133 para x64
># Copyright (C) Microsoft Corporation. Todos os direitos reservados.
>#
># Microsoft (R) Incremental Linker Version 14.29.30133.0
># Copyright (C) Microsoft Corporation. All rights reserved.
>#
># /out:C:\MyJavaProjects\java_native\app\build\native\nativeBuild\Example.exe
># /INCREMENTAL:NO
># /NODEFAULTLIB:LIBCMT
># /FILEALIGN:4096
># /IMPLIB:C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\Example.lib
># /LIBPATH:C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64
># /LIBPATH:C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\clibraries\windows-amd64
># winhttp.lib
># ncrypt.lib
># crypt32.lib
># version.lib
># advapi32.lib
># ws2_32.lib
># secur32.lib
># iphlpapi.lib
># userenv.lib
># setargv.obj
># /include:JDK_LoadSystemLibrary
># /include:getEncodingFromLangID
># /include:getJavaIDFromLangID
># shell32.lib
># /export:JDK_LoadSystemLibrary
># /export:JNU_CallMethodByName
># /export:JNU_CallMethodByNameV
># /export:JNU_CallStaticMethodByName
># /export:JNU_ClassString
># /export:JNU_GetEnv
># /export:JNU_GetFieldByName
># /export:JNU_GetStaticFieldByName
># /export:JNU_IsInstanceOfByName
># /export:JNU_NewObjectByName
># /export:JNU_NewStringPlatform
># /export:JNU_SetFieldByName
># /export:JNU_ThrowArrayIndexOutOfBoundsException
># /export:JNU_ThrowByName
># /export:JNU_ThrowIOException
># /export:JNU_ThrowIllegalArgumentException
># /export:JNU_ThrowInternalError
># /export:JNU_ThrowNullPointerException
># /export:JNU_ThrowOutOfMemoryError
># Example.obj
># C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\clibraries\windows-amd64\libchelper.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\net.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\nio.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\java.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\fdlibm.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\sunmscapi.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\zip.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\clibraries\windows-amd64\jvm.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\clibraries\windows-amd64\libchelper.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\net.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\nio.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\java.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\fdlibm.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\sunmscapi.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\zip.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\clibraries\windows-amd64\jvm.lib
># Criando biblioteca C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\Example.lib e objeto C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\Example.exp
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe' '/FeC:\MyJavaProjects\java_native\app\build\native\nativeBuild\java.dll' 'C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\Example.lib' msvcrt.lib /link /dll /implib:java.lib /export:JDK_LoadSystemLibrary /export:JNU_CallMethodByName /export:JNU_CallMethodByNameV /export:JNU_CallStaticMethodByName /export:JNU_ClassString /export:JNU_GetEnv /export:JNU_GetFieldByName /export:JNU_GetStaticFieldByName /export:JNU_IsInstanceOfByName /export:JNU_NewObjectByName /export:JNU_NewStringPlatform /export:JNU_SetFieldByName /export:JNU_ThrowArrayIndexOutOfBoundsException /export:JNU_ThrowByName /export:JNU_ThrowIOException /export:JNU_ThrowIllegalArgumentException /export:JNU_ThrowInternalError /export:JNU_ThrowNullPointerException /export:JNU_ThrowOutOfMemoryError /export:getEncodingFromLangID /export:getJavaIDFromLangID /export:jio_snprintf
># Microsoft (R) C/C++ Optimizing Compiler Versão 19.29.30133 para x64
># Copyright (C) Microsoft Corporation. Todos os direitos reservados.
>#
># Microsoft (R) Incremental Linker Version 14.29.30133.0
># Copyright (C) Microsoft Corporation. All rights reserved.
>#
># /out:C:\MyJavaProjects\java_native\app\build\native\nativeBuild\java.dll
># /dll
># /implib:java.lib
># /export:JDK_LoadSystemLibrary
># /export:JNU_CallMethodByName
># /export:JNU_CallMethodByNameV
># /export:JNU_CallStaticMethodByName
># /export:JNU_ClassString
># /export:JNU_GetEnv
># /export:JNU_GetFieldByName
># /export:JNU_GetStaticFieldByName
># /export:JNU_IsInstanceOfByName
># /export:JNU_NewObjectByName
># /export:JNU_NewStringPlatform
># /export:JNU_SetFieldByName
># /export:JNU_ThrowArrayIndexOutOfBoundsException
># /export:JNU_ThrowByName
># /export:JNU_ThrowIOException
># /export:JNU_ThrowIllegalArgumentException
># /export:JNU_ThrowInternalError
># /export:JNU_ThrowNullPointerException
># /export:JNU_ThrowOutOfMemoryError
># /export:getEncodingFromLangID
># /export:getJavaIDFromLangID
># /export:jio_snprintf
># C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\Example.lib
># msvcrt.lib
># LINK : warning LNK4001: nenhum arquivo de objeto especificado; bibliotecas usadas
># LINK : warning LNK4068: /MACHINE não especificada; padronizando para X64
># Criando biblioteca java.lib e objeto java.exp
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe' '/FeC:\MyJavaProjects\java_native\app\build\native\nativeBuild\jvm.dll' 'C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\Example.lib' msvcrt.lib /link /dll /implib:jvm.lib /export:JVM_CurrentTimeMillis /export:JVM_RaiseSignal /export:jio_snprintf
># Microsoft (R) C/C++ Optimizing Compiler Versão 19.29.30133 para x64
># Copyright (C) Microsoft Corporation. Todos os direitos reservados.
>#
># Microsoft (R) Incremental Linker Version 14.29.30133.0
># Copyright (C) Microsoft Corporation. All rights reserved.
>#
># /out:C:\MyJavaProjects\java_native\app\build\native\nativeBuild\jvm.dll
># /dll
># /implib:jvm.lib
># /export:JVM_CurrentTimeMillis
># /export:JVM_RaiseSignal
># /export:jio_snprintf
># C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\Example.lib
># msvcrt.lib
># LINK : warning LNK4001: nenhum arquivo de objeto especificado; bibliotecas usadas
># LINK : warning LNK4068: /MACHINE não especificada; padronizando para X64
># Criando biblioteca jvm.lib e objeto jvm.exp
17,53MB (49,00%) for code area: 22.032 compilation units
15,79MB (44,15%) for image heap: 4.949 classes and 210.882 objects
2,45MB ( 6,85%) for other data
35,77MB in total
------------------------------------------------------------------------------------------------------------------------
Top 10 packages in code area: Top 10 object types in image heap:
1,49MB sun.security.ssl 5,35MB byte[] for general heap data
954,08KB java.util 1,70MB java.lang.String
698,04KB com.sun.crypto.provider 1,64MB java.lang.Class
644,73KB org.apache.fontbox.cff 1,18MB byte[] for java.lang.String
579,45KB org.apache.pdfbox.pdmodel.font.encoding 546,66KB java.util.HashMap$Node
493,45KB com.oracle.svm.jni 345,51KB java.lang.String[]
486,77KB java.lang.invoke 312,53KB java.util.HashMap$Node[]
467,91KB sun.security.x509 307,41KB java.util.LinkedHashMap
392,40KB java.lang 282,28KB java.util.concurrent.ConcurrentHashMap$Node
386,92KB com.oracle.svm.core.reflect 268,09KB com.oracle.svm.core.util.LazyFinalReference
... 254 additional packages ... 1617 additional object types
(use GraalVM Dashboard to see all)
------------------------------------------------------------------------------------------------------------------------
5,9s (7,1% of total time) in 28 GCs | Peak RSS: 5,62GB | CPU load: 3,28
------------------------------------------------------------------------------------------------------------------------
Produced artifacts:
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\Example.exe (executable)
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\awt.dll (jdk_lib)
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\fontmanager.dll (jdk_lib)
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\freetype.dll (jdk_lib)
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\javaaccessbridge.dll (jdk_lib)
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\javajpeg.dll (jdk_lib)
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\jawt.dll (jdk_lib)
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\lcms.dll (jdk_lib)
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\java.dll (jdk_lib_shim)
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\jvm.dll (jdk_lib_shim)
C:\MyJavaProjects\java_native\app\build\native\nativeBuild\Example.build_artifacts.txt
========================================================================================================================
Finished generating 'Example' in 1m 23s.
[native-image-plugin] Native Image written to: C:\MyJavaProjects\java_native\app\build\native\nativeBuild
BUILD SUCCESSFUL in 1m 26s
4 actionable tasks: 1 executed, 3 up-to-date
C:\MyJavaProjects\java_native>
plugins {
id 'application' //CLI application in Java for use "gradle installDist" or "gradle run"
id 'org.graalvm.buildtools.native' version '0.9.4'
id 'com.github.johnrengelman.shadow' version '7.0.0' //for use gradle shadowJar | java -jar .\app\build\libs\app-all.jar
}
ext {
pdfboxVersion = '3.0.0-RC1' //'2.0.25'
//for bug https://github.com/oracle/graal/issues/4466#issuecomment-1100726759
configFiles = 'build/cfg-files'
}
repositories {
mavenCentral()
gradlePluginPortal()
}
dependencies {
implementation "org.apache.pdfbox:pdfbox:${pdfboxVersion}"
implementation 'com.hierynomus:sshj:0.32.0'
}
//for bug https://github.com/oracle/graal/issues/4466#issuecomment-1100726759
run {
jvmArgs = ["-agentlib:native-image-agent=config-merge-dir=$configFiles"]
}
application {
mainClass = 'demo.Example'
}
// to create a fat jar
shadowJar {
mainClassName = "demo.Example"
}
nativeBuild {
imageName = 'Example'
mainClass = 'demo.Example'
verbose = true // Add verbose output, defaults to false
useFatJar = false
// Advanced options
// Passes '-H:Extra' to the native image builder options.
// This can be used to pass parameters which are not directly supported by this extension
buildArgs.add('--native-image-info')
buildArgs.add('--verbose')
buildArgs.add('--report-unsupported-elements-at-runtime')
buildArgs.add('--enable-url-protocols=https')
//to fix bug https://github.com/oracle/graal/issues/4466#issuecomment-1100726759
buildArgs.add('-H:ConfigurationFileDirectories=' + file(configFiles).path)
buildArgs.add('-H:+TraceNativeToolUsage')
//to fix bug https://github.com/oracle/graal/issues/4072
buildArgs.add('-H:NativeLinkerOption=/export:JDK_LoadSystemLibrary')
buildArgs.add('-H:NativeLinkerOption=/export:JNU_CallMethodByName')
buildArgs.add('-H:NativeLinkerOption=/export:JNU_CallMethodByNameV')
buildArgs.add('-H:NativeLinkerOption=/export:JNU_CallStaticMethodByName')
buildArgs.add('-H:NativeLinkerOption=/export:JNU_ClassString')
buildArgs.add('-H:NativeLinkerOption=/export:JNU_GetEnv')
buildArgs.add('-H:NativeLinkerOption=/export:JNU_GetFieldByName')
buildArgs.add('-H:NativeLinkerOption=/export:JNU_GetStaticFieldByName')
buildArgs.add('-H:NativeLinkerOption=/export:JNU_IsInstanceOfByName')
buildArgs.add('-H:NativeLinkerOption=/export:JNU_NewObjectByName')
buildArgs.add('-H:NativeLinkerOption=/export:JNU_NewStringPlatform')
buildArgs.add('-H:NativeLinkerOption=/export:JNU_SetFieldByName')
buildArgs.add('-H:NativeLinkerOption=/export:JNU_ThrowArrayIndexOutOfBoundsException')
buildArgs.add('-H:NativeLinkerOption=/export:JNU_ThrowByName')
buildArgs.add('-H:NativeLinkerOption=/export:JNU_ThrowIOException')
buildArgs.add('-H:NativeLinkerOption=/export:JNU_ThrowIllegalArgumentException')
buildArgs.add('-H:NativeLinkerOption=/export:JNU_ThrowInternalError')
buildArgs.add('-H:NativeLinkerOption=/export:JNU_ThrowNullPointerException')
buildArgs.add('-H:NativeLinkerOption=/export:JNU_ThrowOutOfMemoryError')
//buildArgs.add('--language:js')
buildArgs.add('--allow-incomplete-classpath')
// Development options
//agent = true // Enables the reflection agent. Can be also set on command line using '-Pagent'
}
According to that issue #4072, a fix for the should not reach here
problem in Windows has been checked in, for 22.1 milestone. Whether the fix will be in the 22.1 release (due in a couple of days now) remains to be seen.
For the workaround with the above -H:NativeLinkerOption
linker options, make sure that they are applied in the Windows build only, as they are invalid for the Linux linker! Use some conditioning code like:
nativeBuild {
...
if (org.gradle.internal.os.OperatingSystem.current().isWindows()) {
//temp fix for the linker errors in Windows
buildArgs.add('-H:NativeLinkerOption=/export:JDK_LoadSystemLibrary')
buildArgs.add('-H:NativeLinkerOption=/export:JNU_CallMethodByName')
...
}
...
}
@chirontt Thank you for your help already have an open issue to resolve the ClassNotFoundException ?
The above way of manual generation of the native-image config files should fix the ClassNotFoundException, i.e. it should fix the ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl
as originally reported.
But then in Linux, the resultant native image at runtime would throw the following exceptions:
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.apache.pdfbox.pdfparser.BaseParser.<init>(BaseParser.java:57)
at org.apache.pdfbox.pdfparser.COSParser.<init>(COSParser.java:208)
at org.apache.pdfbox.pdfparser.PDFParser.<init>(PDFParser.java:125)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1104)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1088)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1047)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:995)
at demo.Example.main(Example.java:14)
Caused by: java.nio.charset.UnsupportedCharsetException: Windows-1252
at java.nio.charset.Charset.forName(Charset.java:528)
at org.apache.pdfbox.util.Charsets.<clinit>(Charsets.java:44)
... 8 more
The exceptions are by design: the native image only includes some standard charsets, and in Linux environment the 'Windows-1252' charset is certainly not standard so it's not included, resulting the above exceptions at runtime. To fix this omission, all charsets in the JDK should be added to the native image (no other choice), by adding the -H:+AddAllCharsets
parameter:
nativeBuild {
...
buildArgs.add('-H:+AddAllCharsets')
...
}
The above parameter would do no harm in Windows, so we just use it in Windows build as well.
For the resultant Windows native image, I don't get any exceptions with it at runtime, i.e. it runs fine in my Windows 10 machine, displaying some Portuguese text in the console.
I'm having this problem now when I go to run
C:\MyJavaProjects\java_native>C:\MyJavaProjects\java_native\app\build\native\nativeBuild\Example.exe
Exception in thread "main" com.oracle.svm.core.jdk.UnsupportedFeatureError: Trying to verify a provider that was not registered at build time: BC version 1.69. All providers must be registered and verified in the Native Image builder.
at com.oracle.svm.core.util.VMError.unsupportedFeature(VMError.java:89)
at javax.crypto.JceSecurity.getVerificationResult(JceSecurity.java:403)
at javax.crypto.JceSecurity.getInstance(JceSecurity.java:140)
at javax.crypto.KeyAgreement.getInstance(KeyAgreement.java:280)
at net.schmizz.sshj.common.SecurityUtils.registerSecurityProvider(SecurityUtils.java:94)
at net.schmizz.sshj.common.SecurityUtils.register(SecurityUtils.java:280)
at net.schmizz.sshj.common.SecurityUtils.isBouncyCastleRegistered(SecurityUtils.java:251)
at net.schmizz.sshj.DefaultConfig.<init>(DefaultConfig.java:78)
at net.schmizz.sshj.SSHClient.<init>(SSHClient.java:131)
at demo.SshjExample.init(SshjExample.java:22)
at demo.Example.main(Example.java:25)
C:\MyJavaProjects\java_native>
When I said that "already have an open issue to resolve the ClassNotFoundException ?" I meant that having to run "gradle run" to generate the configFiles seems like a bug, it would be better if the Native Image tool already handles this
@insinfo the above problem is separate from the original problem of this issue; you should open a fresh issue for that, or search the issues database for any relevant info.
Anyway, I can give you a hint: you'd need a Feature class for registering the BouncyCastleProvider at build time, as included in this PR, and re-initialize the provider class at runtime also (mentioned in the same PR); or you can use similar class from my project here.
@chirontt I believe I did exactly what you suggested, I actually copied the BouncyCastleFeature.java from your code but I'm getting the same error at runtime
C:\MyJavaProjects\java_native> C:\MyJavaProjects\java_native\app\build\native-image-windows\Example.exe
Exception in thread "main" com.oracle.svm.core.jdk.UnsupportedFeatureError: Trying to verify a provider that was not registered at build time: BC version 1.69. All providers must be registered and verified in the Native Image builder.
at com.oracle.svm.core.util.VMError.unsupportedFeature(VMError.java:89)
at javax.crypto.JceSecurity.getVerificationResult(JceSecurity.java:403)
at javax.crypto.JceSecurity.getInstance(JceSecurity.java:140)
at javax.crypto.KeyAgreement.getInstance(KeyAgreement.java:280)
at net.schmizz.sshj.common.SecurityUtils.registerSecurityProvider(SecurityUtils.java:94)
at net.schmizz.sshj.common.SecurityUtils.register(SecurityUtils.java:280)
at net.schmizz.sshj.common.SecurityUtils.isBouncyCastleRegistered(SecurityUtils.java:251)
at net.schmizz.sshj.DefaultConfig.<init>(DefaultConfig.java:78)
at net.schmizz.sshj.SSHClient.<init>(SSHClient.java:131)
at demo.SshjExample.init(SshjExample.java:33)
at demo.Example.main(Example.java:32)
C:\MyJavaProjects\java_native>
@insinfo I'll reply to the above ssh problem in another relevant issue thread. Please close this issue as it's already had a fix (or a workaround) as mentioned in the thread.
@chirontt thank you very much for your help, your feedback has been valuable in moving forward. I followed your suggestion and temporarily removed the SSHJ lib and implemented a simple example with Apache Mina that works fine when running, but when I try to compile with native-image I'm getting this error "Error: Classes that should be initialized at run time got initialized during image building: org.apache.sshd.core.CoreModuleProperties was unintentionally initialized at build time. To see why org.apache.sshd.core.CoreModuleProperties got initialized use --trace-class-initialization=org.apache.sshd.core.CoreModuleProperties org.apache.sshd.common.util.security.SecurityUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.security.SecurityUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.security.SecurityUtils org.apache.sshd.client.config.keys.DefaultClientIdentitiesWatcher was unintentionally initialized at build time. To see why org.apache.sshd.client.config.keys.DefaultClientIdentitiesWatcher got initialized use --trace-class-..."
C:\MyJavaProjects\java_native>gradle nativeCompile
> Task :app:generateResourcesConfigFile
[native-image-plugin] Resources configuration written into C:\MyJavaProjects\java_native\app\build\native\generated\generateResourcesConfigFile\resource-config.json
> Task :app:nativeCompile
[native-image-plugin] Args are: [@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args]
[native-image-plugin] Using executable path: C:\src\graalvm-ce-java17-22.0.0.2\bin\native-image.cmd
Executing [
'C:\src\graalvm-ce-java17-22.0.0.2\bin\java.exe' \
-XX:+UseParallelGC \
-XX:+UnlockExperimentalVMOptions \
-XX:+EnableJVMCI \
-Dtruffle.TrustAllTruffleRuntimeProviders=true \
-Dtruffle.TruffleRuntime=com.oracle.truffle.api.impl.DefaultTruffleRuntime \
-Dgraalvm.ForcePolyglotInvalid=true \
-Dgraalvm.locatorDisabled=true \
-Dsubstratevm.IgnoreGraalVersionCheck=true \
--add-exports=java.base/com.sun.crypto.provider=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.access.foreign=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.event=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.loader=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.logger=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.module=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.org.xml.sax.helpers=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.perf=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.platform=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.ref=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.reflect=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.util.xml.impl=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.util.xml=ALL-UNNAMED \
--add-exports=java.base/sun.invoke.util=ALL-UNNAMED \
--add-exports=java.base/sun.net=ALL-UNNAMED \
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.annotation=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.repository=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.tree=ALL-UNNAMED \
--add-exports=java.base/sun.security.jca=ALL-UNNAMED \
--add-exports=java.base/sun.security.provider=ALL-UNNAMED \
--add-exports=java.base/sun.security.ssl=ALL-UNNAMED \
--add-exports=java.base/sun.security.util=ALL-UNNAMED \
--add-exports=java.base/sun.text.spi=ALL-UNNAMED \
--add-exports=java.base/sun.util.calendar=ALL-UNNAMED \
--add-exports=java.base/sun.util.locale.provider=ALL-UNNAMED \
--add-exports=java.base/sun.util.resources=ALL-UNNAMED \
--add-exports=java.management/sun.management=ALL-UNNAMED \
--add-exports=java.xml.crypto/org.jcp.xml.dsig.internal.dom=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.aarch64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.amd64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.site=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.stack=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.common=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.meta=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.runtime=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.services=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.events=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.consumer=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.handlers=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.jfc=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal=ALL-UNNAMED \
-XX:+UseJVMCINativeLibrary \
-Xss10m \
-Xms1g \
-Xmx13644028312 \
-Djava.awt.headless=true \
-Dorg.graalvm.version=22.0.0.2 \
-Dorg.graalvm.config=CE \
-Dcom.oracle.graalvm.isaot=true \
-Djava.system.class.loader=com.oracle.svm.hosted.NativeImageSystemClassLoader \
-Xshare:off \
-Djdk.internal.lambda.disableEagerInitialization=true \
-Djdk.internal.lambda.eagerlyInitialize=false \
-Djava.lang.invoke.InnerClassLambdaMetafactory.initializeLambdas=false \
'-javaagent:C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\svm.jar' \
-cp \
'C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\native-image-base.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\objectfile.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\pointsto.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\svm.jar' \
--module-path \
'C:\src\graalvm-ce-java17-22.0.0.2\lib\truffle\truffle-api.jar' \
'com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus' \
-imagecp \
'C:\MyJavaProjects\java_native\app\build\libs\app-1.0.0.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-simple\2.0.0-alpha7\fb2a26ab1f8c43b8ee3cc61af922ccb8f172c3f0\slf4j-simple-2.0.0-alpha7.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.bouncycastle\bcprov-jdk15on\1.70\4636a0d01f74acaf28082fb62b317f1080118371\bcprov-jdk15on-1.70.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.graalvm.sdk\graal-sdk\22.0.0.2\3e6a30de6d2e3ea94ec5976ab37a850f96d78ee3\graal-sdk-22.0.0.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.apache.sshd\sshd-sftp\2.8.0\d3cd9bc8d335b3ed1a86d2965deb4d202de27442\sshd-sftp-2.8.0.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.apache.sshd\sshd-scp\2.8.0\9b8eb865d44a30ae1cd4fe6231d873b6a0a88a90\sshd-scp-2.8.0.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.apache.sshd\sshd-core\2.8.0\1e08be2d90640f9bf8c3ca5d78010c46d505db55\sshd-core-2.8.0.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\com.github.mwiede\jsch\0.2.1\6c0880917725a36b7fe54ca649eadb406d7c2058\jsch-0.2.1.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.apache.commons\commons-compress\1.21\4ec95b60d4e86b5c95a0e919cb172a0af98011ef\commons-compress-1.21.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.apache.sshd\sshd-common\2.8.0\f447fd9764fb533d0e79dbc9f5eb2aff8af243d6\sshd-common-2.8.0.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.slf4j\jcl-over-slf4j\1.7.32\32c060250bcc5282cdbc1fd7008c12eb4ebad00e\jcl-over-slf4j-1.7.32.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-api\2.0.0-alpha7\30d326fc10810e7d6d948dfad32f6bb542487e8f\slf4j-api-2.0.0-alpha7.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\library-support.jar' \
'-H:Path=C:\MyJavaProjects\java_native\app\build\native\nativeCompile' \
'-H:ClassInitialization@jar:file:///C:/Users/isaque/.gradle/caches/modules-2/files-2.1/org.graalvm.sdk/graal-sdk/22.0.0.2/3e6a30de6d2e3ea94ec5976ab37a850f96d78ee3/graal-sdk-22.0.0.2.jar!/META-INF/native-image/org.graalvm.polyglot/native-image.properties=org.graalvm.polyglot:build_time' \
'-H:Features@jar:file:///C:/Users/isaque/.gradle/caches/modules-2/files-2.1/org.graalvm.sdk/graal-sdk/22.0.0.2/3e6a30de6d2e3ea94ec5976ab37a850f96d78ee3/graal-sdk-22.0.0.2.jar!/META-INF/native-image/org.graalvm.home/native-image.properties=org.graalvm.home.HomeFinderFeature' \
'-H:FallbackThreshold@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=0' \
'-H:Path@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=C:\\MyJavaProjects\\java_native\\app\\build\\native\\nativeCompile' \
'-H:Name@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=Example' \
'-H:ConfigurationFileDirectories@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=C:\\MyJavaProjects\\java_native\\app\\build\\native\\generated\\generateResourcesConfigFile' \
'-H:Class@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=demo.Example' \
'-H:ConfigurationFileDirectories@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=C:\\MyJavaProjects\\java_native\\app\\build\\cfg-files' \
'-H:+AddAllCharsets@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args' \
'-H:EnableURLProtocols@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=http,https' \
'-H:+DumpTargetInfo@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args' \
'-H:+AllowIncompleteClasspath@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args' \
'-H:Path@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=C:\\MyJavaProjects\\java_native\\app\\build/native-image-windows' \
'-H:TempDirectory@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=C:\\MyJavaProjects\\java_native\\app\\build/tmp/native-image-windows' \
'-H:+TraceNativeToolUsage@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args' \
'-H:+ReportExceptionStackTraces@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JDK_LoadSystemLibrary' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_CallMethodByName' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_CallMethodByNameV' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_CallStaticMethodByName' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_ClassString' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_GetEnv' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_GetFieldByName' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_GetStaticFieldByName' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_IsInstanceOfByName' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_NewObjectByName' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_NewStringPlatform' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_SetFieldByName' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_ThrowArrayIndexOutOfBoundsException' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_ThrowByName' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_ThrowIOException' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_ThrowIllegalArgumentException' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_ThrowInternalError' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_ThrowNullPointerException' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_ThrowOutOfMemoryError' \
'-H:CLibraryPath=C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\clibraries\windows-amd64'
]
[main] INFO org.apache.sshd.common.util.security.bouncycastle.BouncyCastleSecurityProviderRegistrar - getOrCreateProvider(BC) created instance of org.bouncycastle.jce.provider.BouncyCastleProvider
[main] INFO org.apache.sshd.common.io.DefaultIoServiceFactoryFactory - No detected/configured IoServiceFactoryFactory using Nio2ServiceFactoryFactory
========================================================================================================================
GraalVM Native Image: Generating 'Example'...
========================================================================================================================
[1/7] Initializing... (6,6s @ 0,14GB)
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe'
># Microsoft (R) C/C++ Optimizing Compiler Versão 19.29.30133 para x64
># Copyright (C) Microsoft Corporation. Todos os direitos reservados.
>#
># uso: cl [ option... ] filename... [ /link linkoption... ]
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe' /WX /W4 /wd4244 /wd4245 /wd4800 /wd4804 /wd4214 '/FeC:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\WindowsDirectives.exe' 'C:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\WindowsDirectives.c'
># WindowsDirectives.c
># Microsoft (R) Incremental Linker Version 14.29.30133.0
># Copyright (C) Microsoft Corporation. All rights reserved.
>#
># /out:C:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\WindowsDirectives.exe
># WindowsDirectives.obj
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe' /WX /W4 /wd4244 /wd4245 /wd4800 /wd4804 /wd4214 '/FeC:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\BuiltinDirectives.exe' 'C:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\BuiltinDirectives.c'
># BuiltinDirectives.c
># Microsoft (R) Incremental Linker Version 14.29.30133.0
># Copyright (C) Microsoft Corporation. All rights reserved.
>#
># /out:C:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\BuiltinDirectives.exe
># BuiltinDirectives.obj
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe' /WX /W4 /wd4244 /wd4245 /wd4800 /wd4804 /wd4214 '/FeC:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\AMD64LibCHelperDirectives.exe' 'C:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\AMD64LibCHelperDirectives.c'
># AMD64LibCHelperDirectives.c
># Microsoft (R) Incremental Linker Version 14.29.30133.0
># Copyright (C) Microsoft Corporation. All rights reserved.
>#
># /out:C:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\AMD64LibCHelperDirectives.exe
># AMD64LibCHelperDirectives.obj
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe' /WX /W4 /wd4244 /wd4245 /wd4800 /wd4804 /wd4214 '/FeC:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\AArch64LibCHelperDirectives.exe' 'C:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\AArch64LibCHelperDirectives.c'
># AArch64LibCHelperDirectives.c
># Microsoft (R) Incremental Linker Version 14.29.30133.0
># Copyright (C) Microsoft Corporation. All rights reserved.
>#
># /out:C:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\AArch64LibCHelperDirectives.exe
># AArch64LibCHelperDirectives.obj
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe' /WX /W4 /wd4244 /wd4245 /wd4800 /wd4804 /wd4214 '-IC:\src\graalvm-ce-java17-22.0.0.2\include\win32' '/FeC:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\JNIHeaderDirectives.exe' 'C:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\JNIHeaderDirectives.c'
># JNIHeaderDirectives.c
># Microsoft (R) Incremental Linker Version 14.29.30133.0
># Copyright (C) Microsoft Corporation. All rights reserved.
>#
># /out:C:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\JNIHeaderDirectives.exe
># JNIHeaderDirectives.obj
Version info: 'GraalVM 22.0.0.2 Java 17 CE'
1 user-provided feature(s)
- demo.BouncyCastleFeature
# Printing compilation-target information to: C:\MyJavaProjects\java_native\app\build\native-image-windows\reports\target_info_20220502_161720.txt
[2/7] Performing analysis... [] (13,2s @ 0,86GB)
To see how the classes got initialized, use --trace-class-initialization=org.apache.sshd.core.CoreModuleProperties,org.apache.sshd.common.util.security.SecurityUtils,org.apache.sshd.client.config.keys.DefaultClientIdentitiesWatcher,org.apache.sshd.common.util.OsUtils,org.apache.sshd.client.config.hosts.HostConfigEntry,org.apache.sshd.common.keyprovider.KeyPairProvider,org.apache.sshd.common.kex.extension.DefaultClientKexExtensionHandler,org.apache.sshd.common.util.net.SshdSocketAddress,org.slf4j.LoggerFactory,org.apache.sshd.common.NamedResource,org.apache.sshd.client.config.keys.ClientIdentityFileWatcher,org.apache.sshd.common.util.NumberUtils,org.apache.sshd.server.forward.RejectAllForwardingFilter,org.apache.sshd.client.config.keys.ClientIdentitiesWatcher,org.apache.sshd.common.SyspropsMapWrapper,org.apache.sshd.common.session.ConnectionServiceRequestHandler,org.apache.sshd.common.file.nativefs.NativeFileSystemFactory,org.apache.sshd.common.util.security.SecurityProviderRegistrar,org.apache.sshd.common.io.DefaultIoServiceFactoryFactory,org.apache.sshd.client.auth.pubkey.UserAuthPublicKeyFactory,org.apache.sshd.client.session.ClientConnectionServiceFactory,org.apache.sshd.common.config.keys.FilePasswordProvider,org.apache.sshd.common.PropertyResolverUtils,org.apache.sshd.common.util.EventListenerUtils,org.apache.sshd.common.util.security.bouncycastle.BouncyCastleRandomFactory,org.apache.sshd.client.SshClient,org.apache.sshd.client.config.keys.BuiltinClientIdentitiesWatcher,org.apache.sshd.client.keyverifier.AcceptAllServerKeyVerifier,org.apache.sshd.common.session.helpers.AbstractConnectionServiceRequestHandler,org.apache.sshd.common.session.helpers.DefaultUnknownChannelReferenceHandler,org.apache.sshd.common.util.io.IoUtils,org.apache.sshd.common.config.keys.PublicKeyEntry$LazyDefaultKeysFolderHolder,org.apache.sshd.common.keyprovider.AbstractKeyPairProvider,org.apache.sshd.client.config.hosts.HostPatternsHolder,org.apache.sshd.common.config.keys.PublicKeyEntry,org.apache.sshd.client.ClientBuilder,org.apache.sshd.common.io.DefaultIoServiceFactoryFactory$LazyDefaultIoServiceFactoryFactoryHolder,org.apache.sshd.client.auth.password.UserAuthPasswordFactory,org.apache.sshd.common.global.AbstractOpenSshHostKeysHandler,org.apache.sshd.client.session.ClientUserAuthServiceFactory,org.apache.sshd.common.util.ReflectionUtils,org.apache.sshd.client.config.hosts.ConfigFileHostEntryResolver,org.apache.sshd.client.config.keys.ClientIdentity,org.apache.sshd.server.forward.ForwardedTcpipFactory,org.apache.sshd.client.auth.AuthenticationIdentitiesProvider,org.apache.sshd.client.config.hosts.DefaultConfigFileHostEntryResolver,org.apache.sshd.client.global.OpenSshHostKeysHandler,org.apache.sshd.client.auth.keyboard.UserAuthKeyboardInteractiveFactory,org.apache.sshd.common.util.GenericUtils,org.apache.sshd.common.util.io.ModifiableFileWatcher,org.apache.sshd.common.forward.DefaultForwarderFactory,org.apache.sshd.common.util.MapEntryUtils,org.apache.sshd.common.BaseBuilder
3.905 (87,07%) of 4.485 classes reachable
4.450 (55,32%) of 8.044 fields reachable
15.096 (79,05%) of 19.097 methods reachable
137 classes, 67 fields, and 164 methods registered for reflection
Error: Classes that should be initialized at run time got initialized during image building:
org.apache.sshd.core.CoreModuleProperties was unintentionally initialized at build time. To see why org.apache.sshd.core.CoreModuleProperties got initialized use --trace-class-initialization=org.apache.sshd.core.CoreModuleProperties
org.apache.sshd.common.util.security.SecurityUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.security.SecurityUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.security.SecurityUtils
org.apache.sshd.client.config.keys.DefaultClientIdentitiesWatcher was unintentionally initialized at build time. To see why org.apache.sshd.client.config.keys.DefaultClientIdentitiesWatcher got initialized use --trace-class-initialization=org.apache.sshd.client.config.keys.DefaultClientIdentitiesWatcher
org.apache.sshd.common.util.OsUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.OsUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.OsUtils
org.apache.sshd.client.config.hosts.HostConfigEntry was unintentionally initialized at build time. To see why org.apache.sshd.client.config.hosts.HostConfigEntry got initialized use --trace-class-initialization=org.apache.sshd.client.config.hosts.HostConfigEntry
org.apache.sshd.common.keyprovider.KeyPairProvider was unintentionally initialized at build time. To see why org.apache.sshd.common.keyprovider.KeyPairProvider got initialized use --trace-class-initialization=org.apache.sshd.common.keyprovider.KeyPairProvider
org.apache.sshd.common.kex.extension.DefaultClientKexExtensionHandler was unintentionally initialized at build time. To see why org.apache.sshd.common.kex.extension.DefaultClientKexExtensionHandler got initialized use --trace-class-initialization=org.apache.sshd.common.kex.extension.DefaultClientKexExtensionHandler
org.apache.sshd.common.util.net.SshdSocketAddress was unintentionally initialized at build time. To see why org.apache.sshd.common.util.net.SshdSocketAddress got initialized use --trace-class-initialization=org.apache.sshd.common.util.net.SshdSocketAddress
org.slf4j.LoggerFactory was unintentionally initialized at build time. To see why org.slf4j.LoggerFactory got initialized use --trace-class-initialization=org.slf4j.LoggerFactory
org.apache.sshd.common.NamedResource was unintentionally initialized at build time. To see why org.apache.sshd.common.NamedResource got initialized use --trace-class-initialization=org.apache.sshd.common.NamedResource
org.apache.sshd.client.config.keys.ClientIdentityFileWatcher was unintentionally initialized at build time. To see why org.apache.sshd.client.config.keys.ClientIdentityFileWatcher got initialized use --trace-class-initialization=org.apache.sshd.client.config.keys.ClientIdentityFileWatcher
org.apache.sshd.common.util.NumberUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.NumberUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.NumberUtils
org.apache.sshd.server.forward.RejectAllForwardingFilter was unintentionally initialized at build time. To see why org.apache.sshd.server.forward.RejectAllForwardingFilter got initialized use --trace-class-initialization=org.apache.sshd.server.forward.RejectAllForwardingFilter
org.apache.sshd.client.config.keys.ClientIdentitiesWatcher was unintentionally initialized at build time. To see why org.apache.sshd.client.config.keys.ClientIdentitiesWatcher got initialized use --trace-class-initialization=org.apache.sshd.client.config.keys.ClientIdentitiesWatcher
org.apache.sshd.common.SyspropsMapWrapper was unintentionally initialized at build time. To see why org.apache.sshd.common.SyspropsMapWrapper got initialized use --trace-class-initialization=org.apache.sshd.common.SyspropsMapWrapper
org.apache.sshd.common.session.ConnectionServiceRequestHandler was unintentionally initialized at build time. To see why org.apache.sshd.common.session.ConnectionServiceRequestHandler got initialized use --trace-class-initialization=org.apache.sshd.common.session.ConnectionServiceRequestHandler
org.apache.sshd.common.file.nativefs.NativeFileSystemFactory was unintentionally initialized at build time. To see why org.apache.sshd.common.file.nativefs.NativeFileSystemFactory got initialized use --trace-class-initialization=org.apache.sshd.common.file.nativefs.NativeFileSystemFactory
org.apache.sshd.common.util.security.SecurityProviderRegistrar was unintentionally initialized at build time. To see why org.apache.sshd.common.util.security.SecurityProviderRegistrar got initialized use --trace-class-initialization=org.apache.sshd.common.util.security.SecurityProviderRegistrar
org.apache.sshd.common.io.DefaultIoServiceFactoryFactory was unintentionally initialized at build time. To see why org.apache.sshd.common.io.DefaultIoServiceFactoryFactory got initialized use --trace-class-initialization=org.apache.sshd.common.io.DefaultIoServiceFactoryFactory
org.apache.sshd.client.auth.pubkey.UserAuthPublicKeyFactory was unintentionally initialized at build time. To see why org.apache.sshd.client.auth.pubkey.UserAuthPublicKeyFactory got initialized use --trace-class-initialization=org.apache.sshd.client.auth.pubkey.UserAuthPublicKeyFactory
org.apache.sshd.client.session.ClientConnectionServiceFactory was unintentionally initialized at build time. To see why org.apache.sshd.client.session.ClientConnectionServiceFactory got initialized use --trace-class-initialization=org.apache.sshd.client.session.ClientConnectionServiceFactory
org.apache.sshd.common.config.keys.FilePasswordProvider was unintentionally initialized at build time. To see why org.apache.sshd.common.config.keys.FilePasswordProvider got initialized use --trace-class-initialization=org.apache.sshd.common.config.keys.FilePasswordProvider
org.apache.sshd.common.PropertyResolverUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.PropertyResolverUtils got initialized use --trace-class-initialization=org.apache.sshd.common.PropertyResolverUtils
org.apache.sshd.common.util.EventListenerUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.EventListenerUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.EventListenerUtils
org.apache.sshd.common.util.security.bouncycastle.BouncyCastleRandomFactory was unintentionally initialized at build time. To see why org.apache.sshd.common.util.security.bouncycastle.BouncyCastleRandomFactory got initialized use --trace-class-initialization=org.apache.sshd.common.util.security.bouncycastle.BouncyCastleRandomFactory
org.apache.sshd.client.SshClient was unintentionally initialized at build time. To see why org.apache.sshd.client.SshClient got initialized use --trace-class-initialization=org.apache.sshd.client.SshClient
org.apache.sshd.client.config.keys.BuiltinClientIdentitiesWatcher was unintentionally initialized at build time. To see why org.apache.sshd.client.config.keys.BuiltinClientIdentitiesWatcher got initialized use --trace-class-initialization=org.apache.sshd.client.config.keys.BuiltinClientIdentitiesWatcher
org.apache.sshd.client.keyverifier.AcceptAllServerKeyVerifier was unintentionally initialized at build time. To see why org.apache.sshd.client.keyverifier.AcceptAllServerKeyVerifier got initialized use --trace-class-initialization=org.apache.sshd.client.keyverifier.AcceptAllServerKeyVerifier
org.apache.sshd.common.session.helpers.AbstractConnectionServiceRequestHandler was unintentionally initialized at build time. To see why org.apache.sshd.common.session.helpers.AbstractConnectionServiceRequestHandler got initialized use --trace-class-initialization=org.apache.sshd.common.session.helpers.AbstractConnectionServiceRequestHandler
org.apache.sshd.common.session.helpers.DefaultUnknownChannelReferenceHandler was unintentionally initialized at build time. To see why org.apache.sshd.common.session.helpers.DefaultUnknownChannelReferenceHandler got initialized use --trace-class-initialization=org.apache.sshd.common.session.helpers.DefaultUnknownChannelReferenceHandler
org.apache.sshd.common.util.io.IoUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.io.IoUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.io.IoUtils
org.apache.sshd.common.config.keys.PublicKeyEntry$LazyDefaultKeysFolderHolder was unintentionally initialized at build time. To see why org.apache.sshd.common.config.keys.PublicKeyEntry$LazyDefaultKeysFolderHolder got initialized use --trace-class-initialization=org.apache.sshd.common.config.keys.PublicKeyEntry$LazyDefaultKeysFolderHolder
org.apache.sshd.common.keyprovider.AbstractKeyPairProvider was unintentionally initialized at build time. To see why org.apache.sshd.common.keyprovider.AbstractKeyPairProvider got initialized use --trace-class-initialization=org.apache.sshd.common.keyprovider.AbstractKeyPairProvider
org.apache.sshd.client.config.hosts.HostPatternsHolder was unintentionally initialized at build time. To see why org.apache.sshd.client.config.hosts.HostPatternsHolder got initialized use --trace-class-initialization=org.apache.sshd.client.config.hosts.HostPatternsHolder
org.apache.sshd.common.config.keys.PublicKeyEntry was unintentionally initialized at build time. To see why org.apache.sshd.common.config.keys.PublicKeyEntry got initialized use --trace-class-initialization=org.apache.sshd.common.config.keys.PublicKeyEntry
org.apache.sshd.client.ClientBuilder was unintentionally initialized at build time. To see why org.apache.sshd.client.ClientBuilder got initialized use --trace-class-initialization=org.apache.sshd.client.ClientBuilder
org.apache.sshd.common.io.DefaultIoServiceFactoryFactory$LazyDefaultIoServiceFactoryFactoryHolder was unintentionally initialized at build time. To see why org.apache.sshd.common.io.DefaultIoServiceFactoryFactory$LazyDefaultIoServiceFactoryFactoryHolder got initialized use --trace-class-initialization=org.apache.sshd.common.io.DefaultIoServiceFactoryFactory$LazyDefaultIoServiceFactoryFactoryHolder
org.apache.sshd.client.auth.password.UserAuthPasswordFactory was unintentionally initialized at build time. To see why org.apache.sshd.client.auth.password.UserAuthPasswordFactory got initialized use --trace-class-initialization=org.apache.sshd.client.auth.password.UserAuthPasswordFactory
org.apache.sshd.common.global.AbstractOpenSshHostKeysHandler was unintentionally initialized at build time. To see why org.apache.sshd.common.global.AbstractOpenSshHostKeysHandler got initialized use --trace-class-initialization=org.apache.sshd.common.global.AbstractOpenSshHostKeysHandler
org.apache.sshd.client.session.ClientUserAuthServiceFactory was unintentionally initialized at build time. To see why org.apache.sshd.client.session.ClientUserAuthServiceFactory got initialized use --trace-class-initialization=org.apache.sshd.client.session.ClientUserAuthServiceFactory
org.apache.sshd.common.util.ReflectionUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.ReflectionUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.ReflectionUtils
org.apache.sshd.client.config.hosts.ConfigFileHostEntryResolver was unintentionally initialized at build time. To see why org.apache.sshd.client.config.hosts.ConfigFileHostEntryResolver got initialized use --trace-class-initialization=org.apache.sshd.client.config.hosts.ConfigFileHostEntryResolver
org.apache.sshd.client.config.keys.ClientIdentity was unintentionally initialized at build time. To see why org.apache.sshd.client.config.keys.ClientIdentity got initialized use --trace-class-initialization=org.apache.sshd.client.config.keys.ClientIdentity
org.apache.sshd.server.forward.ForwardedTcpipFactory was unintentionally initialized at build time. To see why org.apache.sshd.server.forward.ForwardedTcpipFactory got initialized use --trace-class-initialization=org.apache.sshd.server.forward.ForwardedTcpipFactory
org.apache.sshd.client.auth.AuthenticationIdentitiesProvider was unintentionally initialized at build time. To see why org.apache.sshd.client.auth.AuthenticationIdentitiesProvider got initialized use --trace-class-initialization=org.apache.sshd.client.auth.AuthenticationIdentitiesProvider
org.apache.sshd.client.config.hosts.DefaultConfigFileHostEntryResolver was unintentionally initialized at build time. To see why org.apache.sshd.client.config.hosts.DefaultConfigFileHostEntryResolver got initialized use --trace-class-initialization=org.apache.sshd.client.config.hosts.DefaultConfigFileHostEntryResolver
org.apache.sshd.client.global.OpenSshHostKeysHandler was unintentionally initialized at build time. To see why org.apache.sshd.client.global.OpenSshHostKeysHandler got initialized use --trace-class-initialization=org.apache.sshd.client.global.OpenSshHostKeysHandler
org.apache.sshd.client.auth.keyboard.UserAuthKeyboardInteractiveFactory was unintentionally initialized at build time. To see why org.apache.sshd.client.auth.keyboard.UserAuthKeyboardInteractiveFactory got initialized use --trace-class-initialization=org.apache.sshd.client.auth.keyboard.UserAuthKeyboardInteractiveFactory
org.apache.sshd.common.util.GenericUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.GenericUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.GenericUtils
org.apache.sshd.common.util.io.ModifiableFileWatcher was unintentionally initialized at build time. To see why org.apache.sshd.common.util.io.ModifiableFileWatcher got initialized use --trace-class-initialization=org.apache.sshd.common.util.io.ModifiableFileWatcher
org.apache.sshd.common.forward.DefaultForwarderFactory was unintentionally initialized at build time. To see why org.apache.sshd.common.forward.DefaultForwarderFactory got initialized use --trace-class-initialization=org.apache.sshd.common.forward.DefaultForwarderFactory
org.apache.sshd.common.util.MapEntryUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.MapEntryUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.MapEntryUtils
org.apache.sshd.common.BaseBuilder was unintentionally initialized at build time. To see why org.apache.sshd.common.BaseBuilder got initialized use --trace-class-initialization=org.apache.sshd.common.BaseBuilder
com.oracle.svm.core.util.UserError$UserException: Classes that should be initialized at run time got initialized during image building:
org.apache.sshd.core.CoreModuleProperties was unintentionally initialized at build time. To see why org.apache.sshd.core.CoreModuleProperties got initialized use --trace-class-initialization=org.apache.sshd.core.CoreModuleProperties
org.apache.sshd.common.util.security.SecurityUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.security.SecurityUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.security.SecurityUtils
org.apache.sshd.client.config.keys.DefaultClientIdentitiesWatcher was unintentionally initialized at build time. To see why org.apache.sshd.client.config.keys.DefaultClientIdentitiesWatcher got initialized use --trace-class-initialization=org.apache.sshd.client.config.keys.DefaultClientIdentitiesWatcher
org.apache.sshd.common.util.OsUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.OsUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.OsUtils
org.apache.sshd.client.config.hosts.HostConfigEntry was unintentionally initialized at build time. To see why org.apache.sshd.client.config.hosts.HostConfigEntry got initialized use --trace-class-initialization=org.apache.sshd.client.config.hosts.HostConfigEntry
org.apache.sshd.common.keyprovider.KeyPairProvider was unintentionally initialized at build time. To see why org.apache.sshd.common.keyprovider.KeyPairProvider got initialized use --trace-class-initialization=org.apache.sshd.common.keyprovider.KeyPairProvider
org.apache.sshd.common.kex.extension.DefaultClientKexExtensionHandler was unintentionally initialized at build time. To see why org.apache.sshd.common.kex.extension.DefaultClientKexExtensionHandler got initialized use --trace-class-initialization=org.apache.sshd.common.kex.extension.DefaultClientKexExtensionHandler
org.apache.sshd.common.util.net.SshdSocketAddress was unintentionally initialized at build time. To see why org.apache.sshd.common.util.net.SshdSocketAddress got initialized use --trace-class-initialization=org.apache.sshd.common.util.net.SshdSocketAddress
org.slf4j.LoggerFactory was unintentionally initialized at build time. To see why org.slf4j.LoggerFactory got initialized use --trace-class-initialization=org.slf4j.LoggerFactory
org.apache.sshd.common.NamedResource was unintentionally initialized at build time. To see why org.apache.sshd.common.NamedResource got initialized use --trace-class-initialization=org.apache.sshd.common.NamedResource
org.apache.sshd.client.config.keys.ClientIdentityFileWatcher was unintentionally initialized at build time. To see why org.apache.sshd.client.config.keys.ClientIdentityFileWatcher got initialized use --trace-class-initialization=org.apache.sshd.client.config.keys.ClientIdentityFileWatcher
org.apache.sshd.common.util.NumberUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.NumberUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.NumberUtils
org.apache.sshd.server.forward.RejectAllForwardingFilter was unintentionally initialized at build time. To see why org.apache.sshd.server.forward.RejectAllForwardingFilter got initialized use --trace-class-initialization=org.apache.sshd.server.forward.RejectAllForwardingFilter
org.apache.sshd.client.config.keys.ClientIdentitiesWatcher was unintentionally initialized at build time. To see why org.apache.sshd.client.config.keys.ClientIdentitiesWatcher got initialized use --trace-class-initialization=org.apache.sshd.client.config.keys.ClientIdentitiesWatcher
org.apache.sshd.common.SyspropsMapWrapper was unintentionally initialized at build time. To see why org.apache.sshd.common.SyspropsMapWrapper got initialized use --trace-class-initialization=org.apache.sshd.common.SyspropsMapWrapper
org.apache.sshd.common.session.ConnectionServiceRequestHandler was unintentionally initialized at build time. To see why org.apache.sshd.common.session.ConnectionServiceRequestHandler got initialized use --trace-class-initialization=org.apache.sshd.common.session.ConnectionServiceRequestHandler
org.apache.sshd.common.file.nativefs.NativeFileSystemFactory was unintentionally initialized at build time. To see why org.apache.sshd.common.file.nativefs.NativeFileSystemFactory got initialized use --trace-class-initialization=org.apache.sshd.common.file.nativefs.NativeFileSystemFactory
org.apache.sshd.common.util.security.SecurityProviderRegistrar was unintentionally initialized at build time. To see why org.apache.sshd.common.util.security.SecurityProviderRegistrar got initialized use --trace-class-initialization=org.apache.sshd.common.util.security.SecurityProviderRegistrar
org.apache.sshd.common.io.DefaultIoServiceFactoryFactory was unintentionally initialized at build time. To see why org.apache.sshd.common.io.DefaultIoServiceFactoryFactory got initialized use --trace-class-initialization=org.apache.sshd.common.io.DefaultIoServiceFactoryFactory
org.apache.sshd.client.auth.pubkey.UserAuthPublicKeyFactory was unintentionally initialized at build time. To see why org.apache.sshd.client.auth.pubkey.UserAuthPublicKeyFactory got initialized use --trace-class-initialization=org.apache.sshd.client.auth.pubkey.UserAuthPublicKeyFactory
org.apache.sshd.client.session.ClientConnectionServiceFactory was unintentionally initialized at build time. To see why org.apache.sshd.client.session.ClientConnectionServiceFactory got initialized use --trace-class-initialization=org.apache.sshd.client.session.ClientConnectionServiceFactory
org.apache.sshd.common.config.keys.FilePasswordProvider was unintentionally initialized at build time. To see why org.apache.sshd.common.config.keys.FilePasswordProvider got initialized use --trace-class-initialization=org.apache.sshd.common.config.keys.FilePasswordProvider
org.apache.sshd.common.PropertyResolverUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.PropertyResolverUtils got initialized use --trace-class-initialization=org.apache.sshd.common.PropertyResolverUtils
org.apache.sshd.common.util.EventListenerUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.EventListenerUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.EventListenerUtils
org.apache.sshd.common.util.security.bouncycastle.BouncyCastleRandomFactory was unintentionally initialized at build time. To see why org.apache.sshd.common.util.security.bouncycastle.BouncyCastleRandomFactory got initialized use --trace-class-initialization=org.apache.sshd.common.util.security.bouncycastle.BouncyCastleRandomFactory
org.apache.sshd.client.SshClient was unintentionally initialized at build time. To see why org.apache.sshd.client.SshClient got initialized use --trace-class-initialization=org.apache.sshd.client.SshClient
org.apache.sshd.client.config.keys.BuiltinClientIdentitiesWatcher was unintentionally initialized at build time. To see why org.apache.sshd.client.config.keys.BuiltinClientIdentitiesWatcher got initialized use --trace-class-initialization=org.apache.sshd.client.config.keys.BuiltinClientIdentitiesWatcher
org.apache.sshd.client.keyverifier.AcceptAllServerKeyVerifier was unintentionally initialized at build time. To see why org.apache.sshd.client.keyverifier.AcceptAllServerKeyVerifier got initialized use --trace-class-initialization=org.apache.sshd.client.keyverifier.AcceptAllServerKeyVerifier
org.apache.sshd.common.session.helpers.AbstractConnectionServiceRequestHandler was unintentionally initialized at build time. To see why org.apache.sshd.common.session.helpers.AbstractConnectionServiceRequestHandler got initialized use --trace-class-initialization=org.apache.sshd.common.session.helpers.AbstractConnectionServiceRequestHandler
org.apache.sshd.common.session.helpers.DefaultUnknownChannelReferenceHandler was unintentionally initialized at build time. To see why org.apache.sshd.common.session.helpers.DefaultUnknownChannelReferenceHandler got initialized use --trace-class-initialization=org.apache.sshd.common.session.helpers.DefaultUnknownChannelReferenceHandler
org.apache.sshd.common.util.io.IoUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.io.IoUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.io.IoUtils
org.apache.sshd.common.config.keys.PublicKeyEntry$LazyDefaultKeysFolderHolder was unintentionally initialized at build time. To see why org.apache.sshd.common.config.keys.PublicKeyEntry$LazyDefaultKeysFolderHolder got initialized use --trace-class-initialization=org.apache.sshd.common.config.keys.PublicKeyEntry$LazyDefaultKeysFolderHolder
org.apache.sshd.common.keyprovider.AbstractKeyPairProvider was unintentionally initialized at build time. To see why org.apache.sshd.common.keyprovider.AbstractKeyPairProvider got initialized use --trace-class-initialization=org.apache.sshd.common.keyprovider.AbstractKeyPairProvider
org.apache.sshd.client.config.hosts.HostPatternsHolder was unintentionally initialized at build time. To see why org.apache.sshd.client.config.hosts.HostPatternsHolder got initialized use --trace-class-initialization=org.apache.sshd.client.config.hosts.HostPatternsHolder
org.apache.sshd.common.config.keys.PublicKeyEntry was unintentionally initialized at build time. To see why org.apache.sshd.common.config.keys.PublicKeyEntry got initialized use --trace-class-initialization=org.apache.sshd.common.config.keys.PublicKeyEntry
org.apache.sshd.client.ClientBuilder was unintentionally initialized at build time. To see why org.apache.sshd.client.ClientBuilder got initialized use --trace-class-initialization=org.apache.sshd.client.ClientBuilder
org.apache.sshd.common.io.DefaultIoServiceFactoryFactory$LazyDefaultIoServiceFactoryFactoryHolder was unintentionally initialized at build time. To see why org.apache.sshd.common.io.DefaultIoServiceFactoryFactory$LazyDefaultIoServiceFactoryFactoryHolder got initialized use --trace-class-initialization=org.apache.sshd.common.io.DefaultIoServiceFactoryFactory$LazyDefaultIoServiceFactoryFactoryHolder
org.apache.sshd.client.auth.password.UserAuthPasswordFactory was unintentionally initialized at build time. To see why org.apache.sshd.client.auth.password.UserAuthPasswordFactory got initialized use --trace-class-initialization=org.apache.sshd.client.auth.password.UserAuthPasswordFactory
org.apache.sshd.common.global.AbstractOpenSshHostKeysHandler was unintentionally initialized at build time. To see why org.apache.sshd.common.global.AbstractOpenSshHostKeysHandler got initialized use --trace-class-initialization=org.apache.sshd.common.global.AbstractOpenSshHostKeysHandler
org.apache.sshd.client.session.ClientUserAuthServiceFactory was unintentionally initialized at build time. To see why org.apache.sshd.client.session.ClientUserAuthServiceFactory got initialized use --trace-class-initialization=org.apache.sshd.client.session.ClientUserAuthServiceFactory
org.apache.sshd.common.util.ReflectionUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.ReflectionUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.ReflectionUtils
org.apache.sshd.client.config.hosts.ConfigFileHostEntryResolver was unintentionally initialized at build time. To see why org.apache.sshd.client.config.hosts.ConfigFileHostEntryResolver got initialized use --trace-class-initialization=org.apache.sshd.client.config.hosts.ConfigFileHostEntryResolver
org.apache.sshd.client.config.keys.ClientIdentity was unintentionally initialized at build time. To see why org.apache.sshd.client.config.keys.ClientIdentity got initialized use --trace-class-initialization=org.apache.sshd.client.config.keys.ClientIdentity
org.apache.sshd.server.forward.ForwardedTcpipFactory was unintentionally initialized at build time. To see why org.apache.sshd.server.forward.ForwardedTcpipFactory got initialized use --trace-class-initialization=org.apache.sshd.server.forward.ForwardedTcpipFactory
org.apache.sshd.client.auth.AuthenticationIdentitiesProvider was unintentionally initialized at build time. To see why org.apache.sshd.client.auth.AuthenticationIdentitiesProvider got initialized use --trace-class-initialization=org.apache.sshd.client.auth.AuthenticationIdentitiesProvider
org.apache.sshd.client.config.hosts.DefaultConfigFileHostEntryResolver was unintentionally initialized at build time. To see why org.apache.sshd.client.config.hosts.DefaultConfigFileHostEntryResolver got initialized use --trace-class-initialization=org.apache.sshd.client.config.hosts.DefaultConfigFileHostEntryResolver
org.apache.sshd.client.global.OpenSshHostKeysHandler was unintentionally initialized at build time. To see why org.apache.sshd.client.global.OpenSshHostKeysHandler got initialized use --trace-class-initialization=org.apache.sshd.client.global.OpenSshHostKeysHandler
org.apache.sshd.client.auth.keyboard.UserAuthKeyboardInteractiveFactory was unintentionally initialized at build time. To see why org.apache.sshd.client.auth.keyboard.UserAuthKeyboardInteractiveFactory got initialized use --trace-class-initialization=org.apache.sshd.client.auth.keyboard.UserAuthKeyboardInteractiveFactory
org.apache.sshd.common.util.GenericUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.GenericUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.GenericUtils
org.apache.sshd.common.util.io.ModifiableFileWatcher was unintentionally initialized at build time. To see why org.apache.sshd.common.util.io.ModifiableFileWatcher got initialized use --trace-class-initialization=org.apache.sshd.common.util.io.ModifiableFileWatcher
org.apache.sshd.common.forward.DefaultForwarderFactory was unintentionally initialized at build time. To see why org.apache.sshd.common.forward.DefaultForwarderFactory got initialized use --trace-class-initialization=org.apache.sshd.common.forward.DefaultForwarderFactory
org.apache.sshd.common.util.MapEntryUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.MapEntryUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.MapEntryUtils
org.apache.sshd.common.BaseBuilder was unintentionally initialized at build time. To see why org.apache.sshd.common.BaseBuilder got initialized use --trace-class-initialization=org.apache.sshd.common.BaseBuilder
at com.oracle.svm.core.util.UserError.abort(UserError.java:73)
at com.oracle.svm.hosted.classinitialization.ConfigurableClassInitialization.checkDelayedInitialization(ConfigurableClassInitialization.java:555)
at com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.duringAnalysis(ClassInitializationFeature.java:167)
at com.oracle.svm.hosted.NativeImageGenerator.lambda$runPointsToAnalysis$10(NativeImageGenerator.java:704)
at com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:74)
at com.oracle.svm.hosted.NativeImageGenerator.lambda$runPointsToAnalysis$11(NativeImageGenerator.java:704)
at com.oracle.graal.pointsto.PointsToAnalysis.runAnalysis(PointsToAnalysis.java:755)
at com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:702)
at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:537)
at com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:494)
at com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:426)
at com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:587)
at com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:126)
at com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus.main(NativeImageGeneratorRunner.java:617)
------------------------------------------------------------------------------------------------------------------------
0,7s (3,4% of total time) in 15 GCs | Peak RSS: 1,56GB | CPU load: 3,39
------------------------------------------------------------------------------------------------------------------------
Produced artifacts:
C:\MyJavaProjects\java_native\app\build\native-image-windows\Example.build_artifacts.txt
========================================================================================================================
Failed generating 'Example' after 20,0s.
Error: Image build request failed with exit status 1
> Task :app:nativeCompile FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:nativeCompile'.
> Process 'command 'C:\src\graalvm-ce-java17-22.0.0.2\bin\native-image.cmd'' finished with non-zero exit value 1
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 22s
4 actionable tasks: 3 executed, 1 up-to-date
C:\MyJavaProjects\java_native>
I'm getting this error when trying to compile a simple project
simple project: https://github.com/insinfo/java_native
Describe GraalVM and your environment:
More details