Comments (14)
I was able to build your branch with Clojure 1.10.1 on the GraalVM 19.2.1 Docker image:
Compiling fc4.io.cli.main
Reflection warning, clj_chrome_devtools/automation.clj:61:5 - reference to field close on java.lang.Object can't be resolved.
Compiling fc4.files
Compiling fc4.image-utils
Compiling fc4.integrations.structurizr.express.chromium-renderer
Compiling fc4.integrations.structurizr.express.export
Compiling fc4.integrations.structurizr.express.format
Compiling fc4.integrations.structurizr.express.snap
Compiling fc4.integrations.structurizr.express.spec
Compiling fc4.integrations.structurizr.express.yaml
Compiling fc4.io.cli.main
Compiling fc4.io.cli.util
Compiling fc4.io.dsl
Compiling fc4.io.render
Compiling fc4.io.util
Compiling fc4.io.watch
Compiling fc4.io.yaml
Compiling fc4.model
Compiling fc4.rendering
Compiling fc4.spec
Compiling fc4.styles
Compiling fc4.util
Compiling fc4.view
Compiling fc4.yaml
Warning: Invalid classpath entry: /root/.m2/repository/net/incongru/watchservice/barbary-watchservice/1.0/jna-3.2.2.jar
Executing [
/opt/graalvm-ce-19.2.1/jre/bin/java \
-XX:+UnlockExperimentalVMOptions \
-XX:+EnableJVMCI \
-Dtruffle.TrustAllTruffleRuntimeProviders=true \
-Dtruffle.TruffleRuntime=com.oracle.truffle.api.impl.DefaultTruffleRuntime \
-Dgraalvm.ForcePolyglotInvalid=true \
-Dgraalvm.locatorDisabled=true \
-d64 \
-XX:-UseJVMCIClassLoader \
-XX:+UseJVMCINativeLibrary \
-Xss10m \
-Xms1g \
-Xmx4997247792 \
-Duser.country=US \
-Duser.language=en \
-Dorg.graalvm.version=19.2.1 \
-Dorg.graalvm.config=CE \
-Dcom.oracle.graalvm.isaot=true \
-Djvmci.class.path.append=/opt/graalvm-ce-19.2.1/jre/lib/jvmci/graal.jar \
-Xbootclasspath/a:/opt/graalvm-ce-19.2.1/jre/lib/boot/graal-sdk.jar:/opt/graalvm-ce-19.2.1/jre/lib/boot/graaljs-scriptengine.jar \
-cp \
/opt/graalvm-ce-19.2.1/jre/lib/svm/builder/llvm-platform-specific.jar:/opt/graalvm-ce-19.2.1/jre/lib/svm/builder/svm.jar:/opt/graalvm-ce-19.2.1/jre/lib/svm/builder/llvm-wrapper.jar:/opt/graalvm-ce-19.2.1/jre/lib/svm/builder/objectfile.jar:/opt/graalvm-ce-19.2.1/jre/lib/svm/builder/graal-llvm.jar:/opt/graalvm-ce-19.2.1/jre/lib/svm/builder/javacpp.jar:/opt/graalvm-ce-19.2.1/jre/lib/svm/builder/svm-llvm.jar:/opt/graalvm-ce-19.2.1/jre/lib/svm/builder/pointsto.jar:/opt/graalvm-ce-19.2.1/jre/lib/jvmci/jvmci-api.jar:/opt/graalvm-ce-19.2.1/jre/lib/jvmci/graal.jar:/opt/graalvm-ce-19.2.1/jre/lib/jvmci/graal-management.jar:/opt/graalvm-ce-19.2.1/jre/lib/jvmci/jvmci-hotspot.jar \
com.oracle.svm.hosted.NativeImageGeneratorRunner \
-watchpid \
153 \
-imagecp \
/opt/graalvm-ce-19.2.1/jre/lib/boot/graal-sdk.jar:/opt/graalvm-ce-19.2.1/jre/lib/boot/graaljs-scriptengine.jar:/opt/graalvm-ce-19.2.1/jre/lib/svm/builder/llvm-platform-specific.jar:/opt/graalvm-ce-19.2.1/jre/lib/svm/builder/svm.jar:/opt/graalvm-ce-19.2.1/jre/lib/svm/builder/llvm-wrapper.jar:/opt/graalvm-ce-19.2.1/jre/lib/svm/builder/objectfile.jar:/opt/graalvm-ce-19.2.1/jre/lib/svm/builder/graal-llvm.jar:/opt/graalvm-ce-19.2.1/jre/lib/svm/builder/javacpp.jar:/opt/graalvm-ce-19.2.1/jre/lib/svm/builder/svm-llvm.jar:/opt/graalvm-ce-19.2.1/jre/lib/svm/builder/pointsto.jar:/opt/graalvm-ce-19.2.1/jre/lib/jvmci/jvmci-api.jar:/opt/graalvm-ce-19.2.1/jre/lib/jvmci/graal.jar:/opt/graalvm-ce-19.2.1/jre/lib/jvmci/graal-management.jar:/opt/graalvm-ce-19.2.1/jre/lib/jvmci/jvmci-hotspot.jar:/opt/graalvm-ce-19.2.1/jre/lib/svm/library-support.jar:/root/.m2/repository/net/incongru/watchservice/barbary-watchservice/1.0/jna-3.2.2.jar:/code/fc4-framework/tool/classes:/code/fc4-framework/tool/src/main:/code/fc4-framework/tool/src/java:/root/.m2/repository/javax/inject/javax.inject/1/javax.inject-1.jar:/root/.m2/repository/org/clojure/clojure/1.10.1/clojure-1.10.1.jar:/root/.m2/repository/joda-time/joda-time/2.10.3/joda-time-2.10.3.jar:/root/.m2/repository/commons-codec/commons-codec/1.10/commons-codec-1.10.jar:/root/.m2/repository/org/clojure/tools.analyzer/0.6.9/tools.analyzer-0.6.9.jar:/root/.m2/repository/org/eclipse/jetty/jetty-xml/9.4.19.v20190610/jetty-xml-9.4.19.v20190610.jar:/root/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar:/root/.m2/repository/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar:/root/.m2/repository/org/springframework/build/aws-maven/5.0.0.RELEASE/aws-maven-5.0.0.RELEASE.jar:/root/.m2/repository/org/clojure/core.specs.alpha/0.2.44/core.specs.alpha-0.2.44.jar:/root/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.5.5/jackson-databind-2.5.5.jar:/root/.gitlibs/libs/expound/expound/297e0812eb77ae3aa8f30e823f8bdbbb4650fa28/src:/root/.m2/repository/org/clojure/spec.alpha/0.2.176/spec.alpha-0.2.176.jar:/root/.m2/repository/org/clojure/tools.cli/0.4.2/tools.cli-0.4.2.jar:/root/.m2/repository/org/eclipse/jetty/jetty-http/9.4.19.v20190610/jetty-http-9.4.19.v20190610.jar:/root/.m2/repository/org/eclipse/jetty/jetty-util/9.4.19.v20190610/jetty-util-9.4.19.v20190610.jar:/root/.m2/repository/com/taoensso/encore/2.91.0/encore-2.91.0.jar:/root/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-wagon/1.1.1/maven-resolver-transport-wagon-1.1.1.jar:/root/.gitlibs/libs/clj-chrome-devtools/clj-chrome-devtools/a1b1b0903ae5ba56eaada8496ed3785a53d8cc06/src:/root/.m2/repository/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25.jar:/root/.m2/repository/org/clojure/tools.analyzer.jvm/0.7.2/tools.analyzer.jvm-0.7.2.jar:/root/.m2/repository/com/jcraft/jsch.agentproxy.jsch/0.0.9/jsch.agentproxy.jsch-0.0.9.jar:/root/.m2/repository/net/incongru/watchservice/barbary-watchservice/1.0/barbary-watchservice-1.0.jar:/root/.m2/repository/org/apache/maven/wagon/wagon-provider-api/3.0.0/wagon-provider-api-3.0.0.jar:/root/.m2/repository/com/jcraft/jsch.agentproxy.sshagent/0.0.9/jsch.agentproxy.sshagent-0.0.9.jar:/root/.m2/repository/org/clojure/tools.macro/0.1.1/tools.macro-0.1.1.jar:/root/.m2/repository/com/cognitect/anomalies/0.1.12/anomalies-0.1.12.jar:/root/.m2/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-cbor/2.9.9/jackson-dataformat-cbor-2.9.9.jar:/root/.m2/repository/com/gfredericks/test.chuck/0.2.10/test.chuck-0.2.10.jar:/root/.m2/repository/org/flatland/useful/0.11.6/useful-0.11.6.jar:/root/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-http/1.1.1/maven-resolver-transport-http-1.1.1.jar:/root/.m2/repository/org/apache/maven/maven-model-builder/3.5.2/maven-model-builder-3.5.2.jar:/root/.m2/repository/io/aviso/pretty/0.1.33/pretty-0.1.33.jar:/root/.m2/repository/com/googlecode/javaewah/JavaEWAH/1.1.6/JavaEWAH-1.1.6.jar:/root/.m2/repository/org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0.jar:/root/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-file/1.1.1/maven-resolver-transport-file-1.1.1.jar:/root/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.plexus/0.3.3/org.eclipse.sisu.plexus-0.3.3.jar:/root/.m2/repository/org/eclipse/jetty/websocket/websocket-api/9.4.19.v20190610/websocket-api-9.4.19.v20190610.jar:/root/.m2/repository/org/flatland/ordered/1.5.7/ordered-1.5.7.jar:/root/.m2/repository/com/jcraft/jsch.agentproxy.usocket-jna/0.0.9/jsch.agentproxy.usocket-jna-0.0.9.jar:/root/.m2/repository/commons-io/commons-io/2.5/commons-io-2.5.jar:/root/.m2/repository/org/apache/maven/maven-settings-builder/3.5.2/maven-settings-builder-3.5.2.jar:/root/.m2/repository/org/clojure/tools.namespace/0.3.1/tools.namespace-0.3.1.jar:/root/.m2/repository/org/eclipse/jetty/websocket/websocket-client/9.4.19.v20190610/websocket-client-9.4.19.v20190610.jar:/root/.m2/repository/org/eclipse/jgit/org.eclipse.jgit/4.10.0.201712302008-r/org.eclipse.jgit-4.10.0.201712302008-r.jar:/root/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.9.9/jackson-core-2.9.9.jar:/root/.m2/repository/clj-time/clj-time/0.10.0/clj-time-0.10.0.jar:/root/.m2/repository/org/yaml/snakeyaml/1.24/snakeyaml-1.24.jar:/root/.m2/repository/javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar:/root/.m2/repository/org/apache/maven/maven-settings/3.5.2/maven-settings-3.5.2.jar:/root/.m2/repository/org/apache/httpcomponents/httpcore/4.4.8/httpcore-4.4.8.jar:/root/.m2/repository/instaparse/instaparse/1.3.6/instaparse-1.3.6.jar:/root/.m2/repository/org/apache/maven/maven-core/3.5.2/maven-core-3.5.2.jar:/root/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar:/root/.m2/repository/stylefruits/gniazdo/1.1.2/gniazdo-1.1.2.jar:/root/.m2/repository/com/taoensso/truss/1.5.0/truss-1.5.0.jar:/root/.m2/repository/com/jcraft/jsch.agentproxy.pageant/0.0.9/jsch.agentproxy.pageant-0.0.9.jar:/root/.m2/repository/org/apache/maven/resolver/maven-resolver-api/1.1.1/maven-resolver-api-1.1.1.jar:/root/.m2/repository/software/amazon/ion/ion-java/1.0.2/ion-java-1.0.2.jar:/root/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.5.0/jackson-annotations-2.5.0.jar:/root/.m2/repository/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar:/root/.m2/repository/org/apache/maven/maven-resolver-provider/3.5.2/maven-resolver-provider-3.5.2.jar:/root/.m2/repository/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.jar:/root/.m2/repository/org/clojure/java.classpath/0.3.0/java.classpath-0.3.0.jar:/root/.m2/repository/org/clojure/tools.deps.alpha/0.7.549/tools.deps.alpha-0.7.549.jar:/root/.m2/repository/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar:/root/.m2/repository/com/google/guava/guava/20.0/guava-20.0.jar:/root/.m2/repository/org/clojure/data.xml/0.2.0-alpha5/data.xml-0.2.0-alpha5.jar:/root/.m2/repository/com/amazonaws/jmespath-java/1.11.184/jmespath-java-1.11.184.jar:/root/.m2/repository/org/apache/maven/resolver/maven-resolver-spi/1.1.1/maven-resolver-spi-1.1.1.jar:/root/.m2/repository/com/amazonaws/aws-java-sdk-core/1.11.184/aws-java-sdk-core-1.11.184.jar:/root/.m2/repository/com/taoensso/timbre/4.10.0/timbre-4.10.0.jar:/root/.m2/repository/org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2.jar:/root/.m2/repository/s3-wagon-private/s3-wagon-private/1.3.1/s3-wagon-private-1.3.1.jar:/root/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4.jar:/root/.m2/repository/clj-commons/clj-yaml/0.7.0/clj-yaml-0.7.0.jar:/root/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.24/plexus-interpolation-1.24.jar:/root/.m2/repository/org/apache/httpcomponents/httpclient/4.5.4/httpclient-4.5.4.jar:/root/.m2/repository/net/java/dev/jna/jna/5.4.0/jna-5.4.0.jar:/root/.m2/repository/com/google/inject/guice/4.0/guice-4.0-no_aop.jar:/root/.m2/repository/cheshire/cheshire/5.9.0/cheshire-5.9.0.jar:/root/.m2/repository/tigris/tigris/0.1.1/tigris-0.1.1.jar:/root/.m2/repository/com/jcraft/jsch.agentproxy.connector-factory/0.0.9/jsch.agentproxy.connector-factory-0.0.9.jar:/root/.m2/repository/org/eclipse/jetty/jetty-client/9.4.19.v20190610/jetty-client-9.4.19.v20190610.jar:/root/.m2/repository/com/andrewmcveigh/cljs-time/0.5.1/cljs-time-0.5.1.jar:/root/.m2/repository/org/eclipse/jetty/jetty-io/9.4.19.v20190610/jetty-io-9.4.19.v20190610.jar:/root/.m2/repository/org/clojure/tools.reader/1.3.2/tools.reader-1.3.2.jar:/root/.m2/repository/net/java/dev/jna/jna-platform/5.4.0/jna-platform-5.4.0.jar:/root/.m2/repository/org/clojure/tools.gitlibs/0.2.64/tools.gitlibs-0.2.64.jar:/root/.m2/repository/org/apache/maven/resolver/maven-resolver-connector-basic/1.1.1/maven-resolver-connector-basic-1.1.1.jar:/root/.m2/repository/org/apache/maven/resolver/maven-resolver-impl/1.1.1/maven-resolver-impl-1.1.1.jar:/root/.m2/repository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar:/root/.m2/repository/org/apache/maven/maven-model/3.5.2/maven-model-3.5.2.jar:/root/.m2/repository/org/clojure/test.check/0.10.0-RC1/test.check-0.10.0-RC1.jar:/root/.gitlibs/libs/taylorwood/clj.native-image/b3823a48be75122b9671c86ce5353a85589ef15f/src:/root/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.inject/0.3.3/org.eclipse.sisu.inject-0.3.3.jar:/root/.m2/repository/org/apache/maven/resolver/maven-resolver-util/1.1.1/maven-resolver-util-1.1.1.jar:/root/.m2/repository/org/eclipse/jetty/websocket/websocket-common/9.4.19.v20190610/websocket-common-9.4.19.v20190610.jar:/root/.m2/repository/org/clojure/core.memoize/0.5.9/core.memoize-0.5.9.jar:/root/.m2/repository/hawk/hawk/0.2.11/hawk-0.2.11.jar:/root/.m2/repository/org/apache/maven/maven-repository-metadata/3.5.2/maven-repository-metadata-3.5.2.jar:/root/.m2/repository/org/clojure/data.priority-map/0.0.7/data.priority-map-0.0.7.jar:/root/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar:/root/.m2/repository/org/apache/maven/maven-builder-support/3.5.2/maven-builder-support-3.5.2.jar:/root/.m2/repository/com/jcraft/jsch/0.1.54/jsch-0.1.54.jar:/root/.m2/repository/com/jcraft/jsch.agentproxy.core/0.0.9/jsch.agentproxy.core-0.0.9.jar:/root/.m2/repository/com/jcraft/jsch.agentproxy.usocket-nc/0.0.9/jsch.agentproxy.usocket-nc-0.0.9.jar:/root/.m2/repository/org/clojure/core.cache/0.6.5/core.cache-0.6.5.jar:/root/.m2/repository/org/ow2/asm/asm-all/4.2/asm-all-4.2.jar:/root/.m2/repository/com/amazonaws/aws-java-sdk-kms/1.11.184/aws-java-sdk-kms-1.11.184.jar:/root/.m2/repository/org/apache/maven/maven-plugin-api/3.5.2/maven-plugin-api-3.5.2.jar:/root/.m2/repository/org/clojure/core.async/0.4.500/core.async-0.4.500.jar:/root/.m2/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-smile/2.9.9/jackson-dataformat-smile-2.9.9.jar:/root/.m2/repository/org/apache/maven/maven-artifact/3.5.2/maven-artifact-3.5.2.jar:/root/.m2/repository/org/clojure/data.codec/0.1.0/data.codec-0.1.0.jar:/root/.m2/repository/com/amazonaws/aws-java-sdk-s3/1.11.184/aws-java-sdk-s3-1.11.184.jar:/root/.m2/repository/http-kit/http-kit/2.3.0/http-kit-2.3.0.jar \
-H:Path=/code/fc4-framework/tool \
-H:EnableURLProtocols=https \
-H:ClassInitialization=clojure:build_time \
-H:ClassInitialization=org.httpkit.client:run_time \
-H:FallbackThreshold=0 \
-H:+AllowIncompleteClasspath \
-H:+ReportUnsupportedElementsAtRuntime \
-H:+StaticExecutable \
-H:Name=target/fc4 \
-H:CLibraryPath=/opt/graalvm-ce-19.2.1/jre/lib/svm/clibraries/linux-amd64 \
-H:Class=fc4.io.cli.main
]
[target/fc4:173] classlist: 45,617.88 ms
[target/fc4:173] (cap): 1,804.94 ms
[target/fc4:173] setup: 3,916.12 ms
[target/fc4:173] (typeflow): 23,709.41 ms
[target/fc4:173] (objects): 14,596.24 ms
[target/fc4:173] (features): 2,268.69 ms
[target/fc4:173] analysis: 41,889.04 ms
[target/fc4:173] (clinit): 604.56 ms
[target/fc4:173] universe: 1,657.16 ms
[target/fc4:173] (parse): 3,147.89 ms
[target/fc4:173] (inline): 4,109.84 ms
[target/fc4:173] (compile): 35,942.58 ms
[target/fc4:173] compile: 45,723.19 ms
[target/fc4:173] image: 3,067.16 ms
[target/fc4:173] write: 1,657.88 ms
[target/fc4:173] [total]: 143,965.37 ms
The only change I had to make was --initialize-at-build-time=clojure
in native-image options. Unfortunately the resulting fc4
image throws an exception about not being able to load clojure.core.server
.
from clj.native-image.
@aviflax I got similar-looking errors but only after trying commits after (and including) b3823a4 -- I also tried --initialize-at-build-time=clojure
but got what taylorwood got:
image throws an exception about not being able to load clojure.core.server.
In my case, builds are successful up through commit 7773c73 -- here I had --initialize-at-build-time
(with other options as well).
from clj.native-image.
@sogaiu will do, thanks!
edit: solution was to add this to my reflection file:
[
{
"name" : "java.nio.file.StandardWatchEventKinds$StdWatchEventKind[]"
}
]
from clj.native-image.
Hey @aviflax thanks for dropping by!
The unbalanced monitor issue is due to locking
macro. There's an open Clojure JIRA for this: https://dev.clojure.org/jira/browse/CLJ-1472 and there is a hacky workaround: taylorwood/clojurl@12b96b5
I should have some time soon to check out your project and see if I can get it building. Looks like maybe some stuff related to reflection?
I can't make Clojure Conj this year but hope to soon!
from clj.native-image.
Wow thanks @taylorwood for the super-rapid and super-helpful response! That hacky workaround looks pretty good actually! I’m a little more intimidated by the situation with libsunec.dylib
that I learned of from the excellent Clojurl README — that looks dicey. 😅
Thank you!
from clj.native-image.
Update:
I’ve implemented the hacky workaround from Clojurl to work around the issue with the locking
macro, and that seems to have worked — thanks!
Now I’m getting Error: Unsupported features in 7 methods
so that’s progress!
Verbose Output
~/dev/fc4-framework/tool $ clojure -A:native-image
Compiling fc4.io.cli.main
Reflection warning, clj_chrome_devtools/automation.clj:61:5 - reference to field close on java.lang.Object can't be resolved.
Compiling fc4.files
Compiling fc4.image-utils
Compiling fc4.integrations.structurizr.express.chromium-renderer
Compiling fc4.integrations.structurizr.express.export
Compiling fc4.integrations.structurizr.express.format
Compiling fc4.integrations.structurizr.express.snap
Compiling fc4.integrations.structurizr.express.spec
Compiling fc4.integrations.structurizr.express.yaml
Compiling fc4.io.cli.main
Compiling fc4.io.cli.util
Compiling fc4.io.dsl
Compiling fc4.io.render
Compiling fc4.io.util
Compiling fc4.io.watch
Compiling fc4.io.yaml
Compiling fc4.model
Compiling fc4.rendering
Compiling fc4.spec
Compiling fc4.styles
Compiling fc4.util
Compiling fc4.view
Compiling fc4.yaml
Warning: Invalid classpath entry: /Users/avi.flax/.m2/repository/net/incongru/watchservice/barbary-watchservice/1.0/jna-3.2.2.jar
Executing [
/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/bin/java \
-XX:+UnlockExperimentalVMOptions \
-XX:+EnableJVMCI \
-Dtruffle.TrustAllTruffleRuntimeProviders=true \
-Dtruffle.TruffleRuntime=com.oracle.truffle.api.impl.DefaultTruffleRuntime \
-Dgraalvm.ForcePolyglotInvalid=true \
-Dgraalvm.locatorDisabled=true \
-d64 \
-XX:-UseJVMCIClassLoader \
-XX:+UseJVMCINativeLibrary \
-Xss10m \
-Xms1g \
-Xmx13743895344 \
-Duser.country=US \
-Duser.language=en \
-Dorg.graalvm.version=19.2.1 \
-Dorg.graalvm.config=CE \
-Dcom.oracle.graalvm.isaot=true \
-Djvmci.class.path.append=/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/jvmci/graal.jar \
-Xbootclasspath/a:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/boot/graaljs-scriptengine.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/boot/graal-sdk.jar \
-cp \
/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/llvm-wrapper.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/svm.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/javacpp.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/objectfile.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/graal-llvm.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/svm-llvm.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/llvm-platform-specific.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/pointsto.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/jvmci/graal.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/jvmci/graal-management.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/jvmci/jvmci-api.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/jvmci/jvmci-hotspot.jar \
com.oracle.svm.hosted.NativeImageGeneratorRunner \
-imagecp \
/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/boot/graaljs-scriptengine.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/boot/graal-sdk.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/llvm-wrapper.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/svm.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/javacpp.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/objectfile.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/graal-llvm.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/svm-llvm.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/llvm-platform-specific.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/pointsto.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/jvmci/graal.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/jvmci/graal-management.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/jvmci/jvmci-api.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/jvmci/jvmci-hotspot.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/library-support.jar:/Users/avi.flax/.m2/repository/net/incongru/watchservice/barbary-watchservice/1.0/jna-3.2.2.jar:/Users/avi.flax/dev/fc4-framework/tool/classes:/Users/avi.flax/dev/fc4-framework/tool/src/main:/Users/avi.flax/dev/fc4-framework/tool/src/java:/Users/avi.flax/.m2/repository/javax/inject/javax.inject/1/javax.inject-1.jar:/Users/avi.flax/.m2/repository/org/clojure/clojure/1.10.1/clojure-1.10.1.jar:/Users/avi.flax/.m2/repository/joda-time/joda-time/2.10.3/joda-time-2.10.3.jar:/Users/avi.flax/.m2/repository/commons-codec/commons-codec/1.10/commons-codec-1.10.jar:/Users/avi.flax/.m2/repository/org/clojure/tools.analyzer/0.6.9/tools.analyzer-0.6.9.jar:/Users/avi.flax/.m2/repository/org/eclipse/jetty/jetty-xml/9.4.19.v20190610/jetty-xml-9.4.19.v20190610.jar:/Users/avi.flax/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar:/Users/avi.flax/.m2/repository/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar:/Users/avi.flax/.m2/repository/org/springframework/build/aws-maven/5.0.0.RELEASE/aws-maven-5.0.0.RELEASE.jar:/Users/avi.flax/.m2/repository/org/clojure/core.specs.alpha/0.2.44/core.specs.alpha-0.2.44.jar:/Users/avi.flax/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.5.5/jackson-databind-2.5.5.jar:/Users/avi.flax/.gitlibs/libs/expound/expound/297e0812eb77ae3aa8f30e823f8bdbbb4650fa28/src:/Users/avi.flax/.m2/repository/org/clojure/spec.alpha/0.2.176/spec.alpha-0.2.176.jar:/Users/avi.flax/.m2/repository/org/clojure/tools.cli/0.4.2/tools.cli-0.4.2.jar:/Users/avi.flax/.m2/repository/org/eclipse/jetty/jetty-http/9.4.19.v20190610/jetty-http-9.4.19.v20190610.jar:/Users/avi.flax/.m2/repository/org/eclipse/jetty/jetty-util/9.4.19.v20190610/jetty-util-9.4.19.v20190610.jar:/Users/avi.flax/.m2/repository/com/taoensso/encore/2.91.0/encore-2.91.0.jar:/Users/avi.flax/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-wagon/1.1.1/maven-resolver-transport-wagon-1.1.1.jar:/Users/avi.flax/.gitlibs/libs/clj-chrome-devtools/clj-chrome-devtools/a1b1b0903ae5ba56eaada8496ed3785a53d8cc06/src:/Users/avi.flax/.m2/repository/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25.jar:/Users/avi.flax/.m2/repository/org/clojure/tools.analyzer.jvm/0.7.2/tools.analyzer.jvm-0.7.2.jar:/Users/avi.flax/.m2/repository/com/jcraft/jsch.agentproxy.jsch/0.0.9/jsch.agentproxy.jsch-0.0.9.jar:/Users/avi.flax/.m2/repository/net/incongru/watchservice/barbary-watchservice/1.0/barbary-watchservice-1.0.jar:/Users/avi.flax/.m2/repository/org/apache/maven/wagon/wagon-provider-api/3.0.0/wagon-provider-api-3.0.0.jar:/Users/avi.flax/.m2/repository/com/jcraft/jsch.agentproxy.sshagent/0.0.9/jsch.agentproxy.sshagent-0.0.9.jar:/Users/avi.flax/.m2/repository/org/clojure/tools.macro/0.1.1/tools.macro-0.1.1.jar:/Users/avi.flax/.m2/repository/com/cognitect/anomalies/0.1.12/anomalies-0.1.12.jar:/Users/avi.flax/.m2/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-cbor/2.9.9/jackson-dataformat-cbor-2.9.9.jar:/Users/avi.flax/.m2/repository/com/gfredericks/test.chuck/0.2.10/test.chuck-0.2.10.jar:/Users/avi.flax/.m2/repository/org/flatland/useful/0.11.6/useful-0.11.6.jar:/Users/avi.flax/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-http/1.1.1/maven-resolver-transport-http-1.1.1.jar:/Users/avi.flax/.m2/repository/org/apache/maven/maven-model-builder/3.5.2/maven-model-builder-3.5.2.jar:/Users/avi.flax/.m2/repository/io/aviso/pretty/0.1.33/pretty-0.1.33.jar:/Users/avi.flax/.m2/repository/com/googlecode/javaewah/JavaEWAH/1.1.6/JavaEWAH-1.1.6.jar:/Users/avi.flax/.m2/repository/org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0.jar:/Users/avi.flax/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-file/1.1.1/maven-resolver-transport-file-1.1.1.jar:/Users/avi.flax/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.plexus/0.3.3/org.eclipse.sisu.plexus-0.3.3.jar:/Users/avi.flax/.m2/repository/org/eclipse/jetty/websocket/websocket-api/9.4.19.v20190610/websocket-api-9.4.19.v20190610.jar:/Users/avi.flax/.m2/repository/org/flatland/ordered/1.5.7/ordered-1.5.7.jar:/Users/avi.flax/.m2/repository/com/jcraft/jsch.agentproxy.usocket-jna/0.0.9/jsch.agentproxy.usocket-jna-0.0.9.jar:/Users/avi.flax/.m2/repository/commons-io/commons-io/2.5/commons-io-2.5.jar:/Users/avi.flax/.m2/repository/org/apache/maven/maven-settings-builder/3.5.2/maven-settings-builder-3.5.2.jar:/Users/avi.flax/.m2/repository/org/clojure/tools.namespace/0.3.1/tools.namespace-0.3.1.jar:/Users/avi.flax/.m2/repository/org/eclipse/jetty/websocket/websocket-client/9.4.19.v20190610/websocket-client-9.4.19.v20190610.jar:/Users/avi.flax/.m2/repository/org/eclipse/jgit/org.eclipse.jgit/4.10.0.201712302008-r/org.eclipse.jgit-4.10.0.201712302008-r.jar:/Users/avi.flax/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.9.9/jackson-core-2.9.9.jar:/Users/avi.flax/.m2/repository/clj-time/clj-time/0.10.0/clj-time-0.10.0.jar:/Users/avi.flax/.m2/repository/org/yaml/snakeyaml/1.24/snakeyaml-1.24.jar:/Users/avi.flax/.m2/repository/javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar:/Users/avi.flax/.m2/repository/org/apache/maven/maven-settings/3.5.2/maven-settings-3.5.2.jar:/Users/avi.flax/.m2/repository/org/apache/httpcomponents/httpcore/4.4.8/httpcore-4.4.8.jar:/Users/avi.flax/.m2/repository/instaparse/instaparse/1.3.6/instaparse-1.3.6.jar:/Users/avi.flax/.m2/repository/org/apache/maven/maven-core/3.5.2/maven-core-3.5.2.jar:/Users/avi.flax/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar:/Users/avi.flax/.m2/repository/stylefruits/gniazdo/1.1.2/gniazdo-1.1.2.jar:/Users/avi.flax/.m2/repository/com/taoensso/truss/1.5.0/truss-1.5.0.jar:/Users/avi.flax/.m2/repository/com/jcraft/jsch.agentproxy.pageant/0.0.9/jsch.agentproxy.pageant-0.0.9.jar:/Users/avi.flax/.m2/repository/org/apache/maven/resolver/maven-resolver-api/1.1.1/maven-resolver-api-1.1.1.jar:/Users/avi.flax/.m2/repository/software/amazon/ion/ion-java/1.0.2/ion-java-1.0.2.jar:/Users/avi.flax/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.5.0/jackson-annotations-2.5.0.jar:/Users/avi.flax/.m2/repository/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar:/Users/avi.flax/.m2/repository/org/apache/maven/maven-resolver-provider/3.5.2/maven-resolver-provider-3.5.2.jar:/Users/avi.flax/.m2/repository/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.jar:/Users/avi.flax/.m2/repository/org/clojure/java.classpath/0.3.0/java.classpath-0.3.0.jar:/Users/avi.flax/.m2/repository/org/clojure/tools.deps.alpha/0.7.549/tools.deps.alpha-0.7.549.jar:/Users/avi.flax/.m2/repository/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar:/Users/avi.flax/.m2/repository/com/google/guava/guava/20.0/guava-20.0.jar:/Users/avi.flax/.m2/repository/org/clojure/data.xml/0.2.0-alpha5/data.xml-0.2.0-alpha5.jar:/Users/avi.flax/.m2/repository/com/amazonaws/jmespath-java/1.11.184/jmespath-java-1.11.184.jar:/Users/avi.flax/.m2/repository/org/apache/maven/resolver/maven-resolver-spi/1.1.1/maven-resolver-spi-1.1.1.jar:/Users/avi.flax/.m2/repository/com/amazonaws/aws-java-sdk-core/1.11.184/aws-java-sdk-core-1.11.184.jar:/Users/avi.flax/.m2/repository/com/taoensso/timbre/4.10.0/timbre-4.10.0.jar:/Users/avi.flax/.m2/repository/org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2.jar:/Users/avi.flax/.m2/repository/s3-wagon-private/s3-wagon-private/1.3.1/s3-wagon-private-1.3.1.jar:/Users/avi.flax/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4.jar:/Users/avi.flax/.m2/repository/clj-commons/clj-yaml/0.7.0/clj-yaml-0.7.0.jar:/Users/avi.flax/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.24/plexus-interpolation-1.24.jar:/Users/avi.flax/.m2/repository/org/apache/httpcomponents/httpclient/4.5.4/httpclient-4.5.4.jar:/Users/avi.flax/.m2/repository/net/java/dev/jna/jna/5.4.0/jna-5.4.0.jar:/Users/avi.flax/.m2/repository/com/google/inject/guice/4.0/guice-4.0-no_aop.jar:/Users/avi.flax/.m2/repository/cheshire/cheshire/5.9.0/cheshire-5.9.0.jar:/Users/avi.flax/.m2/repository/tigris/tigris/0.1.1/tigris-0.1.1.jar:/Users/avi.flax/.m2/repository/com/jcraft/jsch.agentproxy.connector-factory/0.0.9/jsch.agentproxy.connector-factory-0.0.9.jar:/Users/avi.flax/.m2/repository/org/eclipse/jetty/jetty-client/9.4.19.v20190610/jetty-client-9.4.19.v20190610.jar:/Users/avi.flax/.m2/repository/com/andrewmcveigh/cljs-time/0.5.1/cljs-time-0.5.1.jar:/Users/avi.flax/.m2/repository/org/eclipse/jetty/jetty-io/9.4.19.v20190610/jetty-io-9.4.19.v20190610.jar:/Users/avi.flax/.m2/repository/org/clojure/tools.reader/1.3.2/tools.reader-1.3.2.jar:/Users/avi.flax/.m2/repository/net/java/dev/jna/jna-platform/5.4.0/jna-platform-5.4.0.jar:/Users/avi.flax/.m2/repository/org/clojure/tools.gitlibs/0.2.64/tools.gitlibs-0.2.64.jar:/Users/avi.flax/.m2/repository/org/apache/maven/resolver/maven-resolver-connector-basic/1.1.1/maven-resolver-connector-basic-1.1.1.jar:/Users/avi.flax/.m2/repository/org/apache/maven/resolver/maven-resolver-impl/1.1.1/maven-resolver-impl-1.1.1.jar:/Users/avi.flax/.m2/repository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar:/Users/avi.flax/.m2/repository/org/apache/maven/maven-model/3.5.2/maven-model-3.5.2.jar:/Users/avi.flax/.m2/repository/org/clojure/test.check/0.10.0-RC1/test.check-0.10.0-RC1.jar:/Users/avi.flax/.gitlibs/libs/taylorwood/clj.native-image/b3823a48be75122b9671c86ce5353a85589ef15f/src:/Users/avi.flax/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.inject/0.3.3/org.eclipse.sisu.inject-0.3.3.jar:/Users/avi.flax/.m2/repository/org/apache/maven/resolver/maven-resolver-util/1.1.1/maven-resolver-util-1.1.1.jar:/Users/avi.flax/.m2/repository/org/eclipse/jetty/websocket/websocket-common/9.4.19.v20190610/websocket-common-9.4.19.v20190610.jar:/Users/avi.flax/.m2/repository/org/clojure/core.memoize/0.5.9/core.memoize-0.5.9.jar:/Users/avi.flax/.m2/repository/hawk/hawk/0.2.11/hawk-0.2.11.jar:/Users/avi.flax/.m2/repository/org/apache/maven/maven-repository-metadata/3.5.2/maven-repository-metadata-3.5.2.jar:/Users/avi.flax/.m2/repository/org/clojure/data.priority-map/0.0.7/data.priority-map-0.0.7.jar:/Users/avi.flax/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar:/Users/avi.flax/.m2/repository/org/apache/maven/maven-builder-support/3.5.2/maven-builder-support-3.5.2.jar:/Users/avi.flax/.m2/repository/com/jcraft/jsch/0.1.54/jsch-0.1.54.jar:/Users/avi.flax/.m2/repository/com/jcraft/jsch.agentproxy.core/0.0.9/jsch.agentproxy.core-0.0.9.jar:/Users/avi.flax/.m2/repository/com/jcraft/jsch.agentproxy.usocket-nc/0.0.9/jsch.agentproxy.usocket-nc-0.0.9.jar:/Users/avi.flax/.m2/repository/org/clojure/core.cache/0.6.5/core.cache-0.6.5.jar:/Users/avi.flax/.m2/repository/org/ow2/asm/asm-all/4.2/asm-all-4.2.jar:/Users/avi.flax/.m2/repository/com/amazonaws/aws-java-sdk-kms/1.11.184/aws-java-sdk-kms-1.11.184.jar:/Users/avi.flax/.m2/repository/org/apache/maven/maven-plugin-api/3.5.2/maven-plugin-api-3.5.2.jar:/Users/avi.flax/.m2/repository/org/clojure/core.async/0.4.500/core.async-0.4.500.jar:/Users/avi.flax/.m2/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-smile/2.9.9/jackson-dataformat-smile-2.9.9.jar:/Users/avi.flax/.m2/repository/org/apache/maven/maven-artifact/3.5.2/maven-artifact-3.5.2.jar:/Users/avi.flax/.m2/repository/org/clojure/data.codec/0.1.0/data.codec-0.1.0.jar:/Users/avi.flax/.m2/repository/com/amazonaws/aws-java-sdk-s3/1.11.184/aws-java-sdk-s3-1.11.184.jar:/Users/avi.flax/.m2/repository/http-kit/http-kit/2.3.0/http-kit-2.3.0.jar \
-H:Path=/Users/avi.flax/dev/fc4-framework/tool \
-H:EnableURLProtocols=https \
-H:ClassInitialization=:build_time \
-H:FallbackThreshold=0 \
-H:+AllowIncompleteClasspath \
-H:+ReportUnsupportedElementsAtRuntime \
-H:+StaticExecutable \
-H:Name=target/fc4 \
-H:CLibraryPath=/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/clibraries/darwin-amd64 \
-H:Class=fc4.io.cli.main
]
[target/fc4:34859] classlist: 9,504.47 ms
[target/fc4:34859] (cap): 2,363.90 ms
[target/fc4:34859] setup: 3,561.54 ms
[target/fc4:34859] analysis: 102,535.23 ms
Error: Unsupported features in 7 methods
Detailed message:
Error: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: Invoke with MethodHandle argument could not be reduced to at most a single call: java.lang.invoke.MethodHandle.bindTo(Object)
Trace:
at parsing java.lang.invoke.MethodHandleImpl.makePairwiseConvertByEditor(MethodHandleImpl.java:221)
Call path from entry point to java.lang.invoke.MethodHandleImpl.makePairwiseConvertByEditor(MethodHandle, MethodType, boolean, boolean):
at java.lang.invoke.MethodHandleImpl.makePairwiseConvertByEditor(MethodHandleImpl.java:207)
at java.lang.invoke.MethodHandleImpl.makePairwiseConvert(MethodHandleImpl.java:194)
at java.lang.invoke.MethodHandleImpl.makePairwiseConvert(MethodHandleImpl.java:380)
at java.lang.invoke.MethodHandle.asTypeUncached(MethodHandle.java:776)
at java.lang.invoke.MethodHandle.asType(MethodHandle.java:761)
at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
at com.oracle.svm.reflect.MethodHandle_invokeWithArguments_9dda848d0201e4e26c7b3711f56411a6605b9b6f_42.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Method.java:498)
at clojure.core$bean$fn__7197$fn__7198.invoke(core_proxy.clj:408)
at clojure.lang.AFn.run(AFn.java:22)
at java.lang.Thread.run(Thread.java:748)
at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:460)
at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:193)
at com.oracle.svm.core.code.IsolateEnterStub.PosixJavaThreads_pthreadStartRoutine_e1f4a8c0039f8337338252cd8734f63a79b5e3df(generated:0)
Error: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: Invoke with MethodHandle argument could not be reduced to at most a single call: java.lang.invoke.MethodHandleImpl$BindCaller.prepareForInvoker(MethodHandle)
Trace:
at parsing java.lang.invoke.MethodHandleImpl$BindCaller.makeInjectedInvoker(MethodHandleImpl.java:1166)
Call path from entry point to java.lang.invoke.MethodHandleImpl$BindCaller.makeInjectedInvoker(Class):
at java.lang.invoke.MethodHandleImpl$BindCaller.makeInjectedInvoker(MethodHandleImpl.java:1141)
at java.lang.invoke.MethodHandleImpl$BindCaller.access$300(MethodHandleImpl.java:1122)
at java.lang.invoke.MethodHandleImpl$BindCaller$1.computeValue(MethodHandleImpl.java:1175)
at java.lang.invoke.MethodHandleImpl$BindCaller$1.computeValue(MethodHandleImpl.java:1173)
at com.oracle.svm.core.jdk.Target_java_lang_ClassValue.get(JavaLangSubstitutions.java:514)
at java.lang.invoke.MethodHandleImpl.makeArrayElementAccessor(MethodHandleImpl.java:76)
at java.lang.invoke.MethodHandles.arrayElementGetter(MethodHandles.java:1825)
at java.lang.invoke.LambdaFormEditor.spreadArgumentsForm(LambdaFormEditor.java:550)
at java.lang.invoke.MethodHandle.asSpreader(MethodHandle.java:874)
at java.lang.invoke.Invokers.spreadInvoker(Invokers.java:158)
at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
at com.oracle.svm.reflect.MethodHandle_invokeWithArguments_9dda848d0201e4e26c7b3711f56411a6605b9b6f_42.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Method.java:498)
at clojure.core$bean$fn__7197$fn__7198.invoke(core_proxy.clj:408)
at clojure.lang.AFn.run(AFn.java:22)
at java.lang.Thread.run(Thread.java:748)
at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:460)
at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:193)
at com.oracle.svm.core.code.IsolateEnterStub.PosixJavaThreads_pthreadStartRoutine_e1f4a8c0039f8337338252cd8734f63a79b5e3df(generated:0)
Error: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: Invoke with MethodHandle argument could not be reduced to at most a single call: java.lang.invoke.MethodHandleImpl.buildVarargsArray(MethodHandle, MethodHandle, int)
Trace:
at parsing java.lang.invoke.MethodHandleImpl.varargsArray(MethodHandleImpl.java:1634)
Call path from entry point to java.lang.invoke.MethodHandleImpl.varargsArray(Class, int):
at java.lang.invoke.MethodHandleImpl.varargsArray(MethodHandleImpl.java:1611)
at java.lang.invoke.MethodHandle.asCollector(MethodHandle.java:999)
at java.lang.invoke.MethodHandleImpl$AsVarargsCollector.asTypeUncached(MethodHandleImpl.java:502)
at java.lang.invoke.MethodHandle.asType(MethodHandle.java:761)
at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
at com.oracle.svm.reflect.MethodHandle_invokeWithArguments_9dda848d0201e4e26c7b3711f56411a6605b9b6f_42.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Method.java:498)
at clojure.core$bean$fn__7197$fn__7198.invoke(core_proxy.clj:408)
at clojure.lang.AFn.run(AFn.java:22)
at java.lang.Thread.run(Thread.java:748)
at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:460)
at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:193)
at com.oracle.svm.core.code.IsolateEnterStub.PosixJavaThreads_pthreadStartRoutine_e1f4a8c0039f8337338252cd8734f63a79b5e3df(generated:0)
Error: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: No instances of javax.net.ssl.SSLContext are allowed in the image heap as this class should be initialized at image runtime. To see how this object got instantiated use -H:+TraceClassInitialization.
Trace:
at parsing org.httpkit.client.HttpClient.exec(HttpClient.java:347)
Call path from entry point to org.httpkit.client.HttpClient.exec(String, RequestConfig, SSLEngine, IRespListener):
at org.httpkit.client.HttpClient.exec(HttpClient.java:269)
at org.httpkit.client$request.invokeStatic(client.clj:258)
at org.httpkit.client$request.doInvoke(client.clj:152)
at clojure.lang.RestFn.applyTo(RestFn.java:139)
at fc4.io.cli.main.main(Unknown Source)
at com.oracle.svm.core.JavaMainWrapper.runCore(JavaMainWrapper.java:151)
at com.oracle.svm.core.JavaMainWrapper.run(JavaMainWrapper.java:186)
at com.oracle.svm.core.code.IsolateEnterStub.JavaMainWrapper_run_5087f5482cc9a6abc971913ece43acb471d2631b(generated:0)
Error: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: No instances of javax.net.ssl.SSLContext are allowed in the image heap as this class should be initialized at image runtime. To see how this object got instantiated use -H:+TraceClassInitialization.
Trace:
at parsing org.httpkit.client.SslContextFactory.trustAnybody(SslContextFactory.java:36)
Call path from entry point to org.httpkit.client.SslContextFactory.trustAnybody():
at org.httpkit.client.SslContextFactory.trustAnybody(SslContextFactory.java:36)
at org.httpkit.client$coerce_req.invokeStatic(client.clj:68)
at org.httpkit.client$coerce_req.invoke(client.clj:59)
at taoensso.encore.proxy$java.util.TimerTask$ff19274a.run(Unknown Source)
at java.lang.Thread.run(Thread.java:748)
at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:460)
at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:193)
at com.oracle.svm.core.code.IsolateEnterStub.PosixJavaThreads_pthreadStartRoutine_e1f4a8c0039f8337338252cd8734f63a79b5e3df(generated:0)
Error: type is not available in this platform: com.oracle.svm.hosted.code.CFunctionCallStubMethod
Trace: object java.lang.invoke.MethodType
object java.lang.invoke.MethodType$ConcurrentWeakInternSet$WeakEntry
object java.util.concurrent.ConcurrentHashMap$Node
object java.util.concurrent.ConcurrentHashMap$Node[]
object java.util.concurrent.ConcurrentHashMap
object java.lang.invoke.MethodType$ConcurrentWeakInternSet
method java.lang.invoke.MethodType.makeImpl(Class, Class[], boolean)
Call path from entry point to java.lang.invoke.MethodType.makeImpl(Class, Class[], boolean):
at java.lang.invoke.MethodType.makeImpl(MethodType.java:301)
at java.lang.invoke.MethodType.methodType(MethodType.java:206)
at com.oracle.svm.reflect.MethodType_methodType_9d13644056a712f9cdb73fb2ef8b26f65294abe9_37.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Method.java:498)
at clojure.core$bean$fn__7197$fn__7198.invoke(core_proxy.clj:408)
at clojure.lang.AFn.run(AFn.java:22)
at java.lang.Thread.run(Thread.java:748)
at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:460)
at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:193)
at com.oracle.svm.core.code.IsolateEnterStub.PosixJavaThreads_pthreadStartRoutine_e1f4a8c0039f8337338252cd8734f63a79b5e3df(generated:0)
Error: type is not available in this platform: org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess
Trace: object java.lang.Class[]
object java.lang.invoke.MethodType
object java.lang.invoke.MethodType$ConcurrentWeakInternSet$WeakEntry
object java.util.concurrent.ConcurrentHashMap$Node
object java.util.concurrent.ConcurrentHashMap$Node[]
object java.util.concurrent.ConcurrentHashMap
object java.lang.invoke.MethodType$ConcurrentWeakInternSet
method java.lang.invoke.MethodType.makeImpl(Class, Class[], boolean)
Call path from entry point to java.lang.invoke.MethodType.makeImpl(Class, Class[], boolean):
at java.lang.invoke.MethodType.makeImpl(MethodType.java:301)
at java.lang.invoke.MethodType.methodType(MethodType.java:206)
at com.oracle.svm.reflect.MethodType_methodType_9d13644056a712f9cdb73fb2ef8b26f65294abe9_37.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Method.java:498)
at clojure.core$bean$fn__7197$fn__7198.invoke(core_proxy.clj:408)
at clojure.lang.AFn.run(AFn.java:22)
at java.lang.Thread.run(Thread.java:748)
at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:460)
at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:193)
at com.oracle.svm.core.code.IsolateEnterStub.PosixJavaThreads_pthreadStartRoutine_e1f4a8c0039f8337338252cd8734f63a79b5e3df(generated:0)
Error: Use -H:+ReportExceptionStackTraces to print stacktrace of underlying exception
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:1447)
at com.oracle.svm.driver.NativeImage.build(NativeImage.java:1225)
at com.oracle.svm.driver.NativeImage.performBuild(NativeImage.java:1187)
at com.oracle.svm.driver.NativeImage.main(NativeImage.java:1146)
This is from FundingCircle/fc4-framework@f76b856 which is currently HEAD of native-image
.
from clj.native-image.
Update:
I perused oracle/graal#1074 and then added --initialize-at-run-time=org.httpkit.client
to my :main-opts
— this eliminated the two error messages related to javax.net.ssl.SSLContext
.
Now I’m getting Error: Unsupported features in 5 methods
so that’s more progress!
Verbose Output
$ bin/pkg-native
Compiling fc4.io.cli.main
Reflection warning, clj_chrome_devtools/automation.clj:61:5 - reference to field close on java.lang.Object can't be resolved.
Compiling fc4.files
Compiling fc4.image-utils
Compiling fc4.integrations.structurizr.express.chromium-renderer
Compiling fc4.integrations.structurizr.express.export
Compiling fc4.integrations.structurizr.express.format
Compiling fc4.integrations.structurizr.express.snap
Compiling fc4.integrations.structurizr.express.spec
Compiling fc4.integrations.structurizr.express.yaml
Compiling fc4.io.cli.main
Compiling fc4.io.cli.util
Compiling fc4.io.dsl
Compiling fc4.io.render
Compiling fc4.io.util
Compiling fc4.io.watch
Compiling fc4.io.yaml
Compiling fc4.model
Compiling fc4.rendering
Compiling fc4.spec
Compiling fc4.styles
Compiling fc4.util
Compiling fc4.view
Compiling fc4.yaml
Warning: Invalid classpath entry: /Users/avi.flax/.m2/repository/net/incongru/watchservice/barbary-watchservice/1.0/jna-3.2.2.jar
Executing [
/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/bin/java \
-XX:+UnlockExperimentalVMOptions \
-XX:+EnableJVMCI \
-Dtruffle.TrustAllTruffleRuntimeProviders=true \
-Dtruffle.TruffleRuntime=com.oracle.truffle.api.impl.DefaultTruffleRuntime \
-Dgraalvm.ForcePolyglotInvalid=true \
-Dgraalvm.locatorDisabled=true \
-d64 \
-XX:-UseJVMCIClassLoader \
-XX:+UseJVMCINativeLibrary \
-Xss10m \
-Xms1g \
-Xmx13743895344 \
-Duser.country=US \
-Duser.language=en \
-Dorg.graalvm.version=19.2.1 \
-Dorg.graalvm.config=CE \
-Dcom.oracle.graalvm.isaot=true \
-Djvmci.class.path.append=/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/jvmci/graal.jar \
-Xbootclasspath/a:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/boot/graaljs-scriptengine.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/boot/graal-sdk.jar \
-cp \
/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/llvm-wrapper.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/svm.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/javacpp.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/objectfile.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/graal-llvm.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/svm-llvm.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/llvm-platform-specific.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/pointsto.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/jvmci/graal.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/jvmci/graal-management.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/jvmci/jvmci-api.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/jvmci/jvmci-hotspot.jar \
com.oracle.svm.hosted.NativeImageGeneratorRunner \
-imagecp \
/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/boot/graaljs-scriptengine.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/boot/graal-sdk.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/llvm-wrapper.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/svm.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/javacpp.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/objectfile.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/graal-llvm.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/svm-llvm.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/llvm-platform-specific.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/builder/pointsto.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/jvmci/graal.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/jvmci/graal-management.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/jvmci/jvmci-api.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/jvmci/jvmci-hotspot.jar:/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/library-support.jar:/Users/avi.flax/.m2/repository/net/incongru/watchservice/barbary-watchservice/1.0/jna-3.2.2.jar:/Users/avi.flax/dev/fc4-framework/tool/classes:/Users/avi.flax/dev/fc4-framework/tool/src/main:/Users/avi.flax/dev/fc4-framework/tool/src/java:/Users/avi.flax/.m2/repository/javax/inject/javax.inject/1/javax.inject-1.jar:/Users/avi.flax/.m2/repository/org/clojure/clojure/1.10.1/clojure-1.10.1.jar:/Users/avi.flax/.m2/repository/joda-time/joda-time/2.10.3/joda-time-2.10.3.jar:/Users/avi.flax/.m2/repository/commons-codec/commons-codec/1.10/commons-codec-1.10.jar:/Users/avi.flax/.m2/repository/org/clojure/tools.analyzer/0.6.9/tools.analyzer-0.6.9.jar:/Users/avi.flax/.m2/repository/org/eclipse/jetty/jetty-xml/9.4.19.v20190610/jetty-xml-9.4.19.v20190610.jar:/Users/avi.flax/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar:/Users/avi.flax/.m2/repository/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar:/Users/avi.flax/.m2/repository/org/springframework/build/aws-maven/5.0.0.RELEASE/aws-maven-5.0.0.RELEASE.jar:/Users/avi.flax/.m2/repository/org/clojure/core.specs.alpha/0.2.44/core.specs.alpha-0.2.44.jar:/Users/avi.flax/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.5.5/jackson-databind-2.5.5.jar:/Users/avi.flax/.gitlibs/libs/expound/expound/297e0812eb77ae3aa8f30e823f8bdbbb4650fa28/src:/Users/avi.flax/.m2/repository/org/clojure/spec.alpha/0.2.176/spec.alpha-0.2.176.jar:/Users/avi.flax/.m2/repository/org/clojure/tools.cli/0.4.2/tools.cli-0.4.2.jar:/Users/avi.flax/.m2/repository/org/eclipse/jetty/jetty-http/9.4.19.v20190610/jetty-http-9.4.19.v20190610.jar:/Users/avi.flax/.m2/repository/org/eclipse/jetty/jetty-util/9.4.19.v20190610/jetty-util-9.4.19.v20190610.jar:/Users/avi.flax/.m2/repository/com/taoensso/encore/2.91.0/encore-2.91.0.jar:/Users/avi.flax/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-wagon/1.1.1/maven-resolver-transport-wagon-1.1.1.jar:/Users/avi.flax/.gitlibs/libs/clj-chrome-devtools/clj-chrome-devtools/a1b1b0903ae5ba56eaada8496ed3785a53d8cc06/src:/Users/avi.flax/.m2/repository/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25.jar:/Users/avi.flax/.m2/repository/org/clojure/tools.analyzer.jvm/0.7.2/tools.analyzer.jvm-0.7.2.jar:/Users/avi.flax/.m2/repository/com/jcraft/jsch.agentproxy.jsch/0.0.9/jsch.agentproxy.jsch-0.0.9.jar:/Users/avi.flax/.m2/repository/net/incongru/watchservice/barbary-watchservice/1.0/barbary-watchservice-1.0.jar:/Users/avi.flax/.m2/repository/org/apache/maven/wagon/wagon-provider-api/3.0.0/wagon-provider-api-3.0.0.jar:/Users/avi.flax/.m2/repository/com/jcraft/jsch.agentproxy.sshagent/0.0.9/jsch.agentproxy.sshagent-0.0.9.jar:/Users/avi.flax/.m2/repository/org/clojure/tools.macro/0.1.1/tools.macro-0.1.1.jar:/Users/avi.flax/.m2/repository/com/cognitect/anomalies/0.1.12/anomalies-0.1.12.jar:/Users/avi.flax/.m2/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-cbor/2.9.9/jackson-dataformat-cbor-2.9.9.jar:/Users/avi.flax/.m2/repository/com/gfredericks/test.chuck/0.2.10/test.chuck-0.2.10.jar:/Users/avi.flax/.m2/repository/org/flatland/useful/0.11.6/useful-0.11.6.jar:/Users/avi.flax/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-http/1.1.1/maven-resolver-transport-http-1.1.1.jar:/Users/avi.flax/.m2/repository/org/apache/maven/maven-model-builder/3.5.2/maven-model-builder-3.5.2.jar:/Users/avi.flax/.m2/repository/io/aviso/pretty/0.1.33/pretty-0.1.33.jar:/Users/avi.flax/.m2/repository/com/googlecode/javaewah/JavaEWAH/1.1.6/JavaEWAH-1.1.6.jar:/Users/avi.flax/.m2/repository/org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0.jar:/Users/avi.flax/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-file/1.1.1/maven-resolver-transport-file-1.1.1.jar:/Users/avi.flax/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.plexus/0.3.3/org.eclipse.sisu.plexus-0.3.3.jar:/Users/avi.flax/.m2/repository/org/eclipse/jetty/websocket/websocket-api/9.4.19.v20190610/websocket-api-9.4.19.v20190610.jar:/Users/avi.flax/.m2/repository/org/flatland/ordered/1.5.7/ordered-1.5.7.jar:/Users/avi.flax/.m2/repository/com/jcraft/jsch.agentproxy.usocket-jna/0.0.9/jsch.agentproxy.usocket-jna-0.0.9.jar:/Users/avi.flax/.m2/repository/commons-io/commons-io/2.5/commons-io-2.5.jar:/Users/avi.flax/.m2/repository/org/apache/maven/maven-settings-builder/3.5.2/maven-settings-builder-3.5.2.jar:/Users/avi.flax/.m2/repository/org/clojure/tools.namespace/0.3.1/tools.namespace-0.3.1.jar:/Users/avi.flax/.m2/repository/org/eclipse/jetty/websocket/websocket-client/9.4.19.v20190610/websocket-client-9.4.19.v20190610.jar:/Users/avi.flax/.m2/repository/org/eclipse/jgit/org.eclipse.jgit/4.10.0.201712302008-r/org.eclipse.jgit-4.10.0.201712302008-r.jar:/Users/avi.flax/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.9.9/jackson-core-2.9.9.jar:/Users/avi.flax/.m2/repository/clj-time/clj-time/0.10.0/clj-time-0.10.0.jar:/Users/avi.flax/.m2/repository/org/yaml/snakeyaml/1.24/snakeyaml-1.24.jar:/Users/avi.flax/.m2/repository/javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar:/Users/avi.flax/.m2/repository/org/apache/maven/maven-settings/3.5.2/maven-settings-3.5.2.jar:/Users/avi.flax/.m2/repository/org/apache/httpcomponents/httpcore/4.4.8/httpcore-4.4.8.jar:/Users/avi.flax/.m2/repository/instaparse/instaparse/1.3.6/instaparse-1.3.6.jar:/Users/avi.flax/.m2/repository/org/apache/maven/maven-core/3.5.2/maven-core-3.5.2.jar:/Users/avi.flax/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar:/Users/avi.flax/.m2/repository/stylefruits/gniazdo/1.1.2/gniazdo-1.1.2.jar:/Users/avi.flax/.m2/repository/com/taoensso/truss/1.5.0/truss-1.5.0.jar:/Users/avi.flax/.m2/repository/com/jcraft/jsch.agentproxy.pageant/0.0.9/jsch.agentproxy.pageant-0.0.9.jar:/Users/avi.flax/.m2/repository/org/apache/maven/resolver/maven-resolver-api/1.1.1/maven-resolver-api-1.1.1.jar:/Users/avi.flax/.m2/repository/software/amazon/ion/ion-java/1.0.2/ion-java-1.0.2.jar:/Users/avi.flax/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.5.0/jackson-annotations-2.5.0.jar:/Users/avi.flax/.m2/repository/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar:/Users/avi.flax/.m2/repository/org/apache/maven/maven-resolver-provider/3.5.2/maven-resolver-provider-3.5.2.jar:/Users/avi.flax/.m2/repository/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.jar:/Users/avi.flax/.m2/repository/org/clojure/java.classpath/0.3.0/java.classpath-0.3.0.jar:/Users/avi.flax/.m2/repository/org/clojure/tools.deps.alpha/0.7.549/tools.deps.alpha-0.7.549.jar:/Users/avi.flax/.m2/repository/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar:/Users/avi.flax/.m2/repository/com/google/guava/guava/20.0/guava-20.0.jar:/Users/avi.flax/.m2/repository/org/clojure/data.xml/0.2.0-alpha5/data.xml-0.2.0-alpha5.jar:/Users/avi.flax/.m2/repository/com/amazonaws/jmespath-java/1.11.184/jmespath-java-1.11.184.jar:/Users/avi.flax/.m2/repository/org/apache/maven/resolver/maven-resolver-spi/1.1.1/maven-resolver-spi-1.1.1.jar:/Users/avi.flax/.m2/repository/com/amazonaws/aws-java-sdk-core/1.11.184/aws-java-sdk-core-1.11.184.jar:/Users/avi.flax/.m2/repository/com/taoensso/timbre/4.10.0/timbre-4.10.0.jar:/Users/avi.flax/.m2/repository/org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2.jar:/Users/avi.flax/.m2/repository/s3-wagon-private/s3-wagon-private/1.3.1/s3-wagon-private-1.3.1.jar:/Users/avi.flax/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4.jar:/Users/avi.flax/.m2/repository/clj-commons/clj-yaml/0.7.0/clj-yaml-0.7.0.jar:/Users/avi.flax/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.24/plexus-interpolation-1.24.jar:/Users/avi.flax/.m2/repository/org/apache/httpcomponents/httpclient/4.5.4/httpclient-4.5.4.jar:/Users/avi.flax/.m2/repository/net/java/dev/jna/jna/5.4.0/jna-5.4.0.jar:/Users/avi.flax/.m2/repository/com/google/inject/guice/4.0/guice-4.0-no_aop.jar:/Users/avi.flax/.m2/repository/cheshire/cheshire/5.9.0/cheshire-5.9.0.jar:/Users/avi.flax/.m2/repository/tigris/tigris/0.1.1/tigris-0.1.1.jar:/Users/avi.flax/.m2/repository/com/jcraft/jsch.agentproxy.connector-factory/0.0.9/jsch.agentproxy.connector-factory-0.0.9.jar:/Users/avi.flax/.m2/repository/org/eclipse/jetty/jetty-client/9.4.19.v20190610/jetty-client-9.4.19.v20190610.jar:/Users/avi.flax/.m2/repository/com/andrewmcveigh/cljs-time/0.5.1/cljs-time-0.5.1.jar:/Users/avi.flax/.m2/repository/org/eclipse/jetty/jetty-io/9.4.19.v20190610/jetty-io-9.4.19.v20190610.jar:/Users/avi.flax/.m2/repository/org/clojure/tools.reader/1.3.2/tools.reader-1.3.2.jar:/Users/avi.flax/.m2/repository/net/java/dev/jna/jna-platform/5.4.0/jna-platform-5.4.0.jar:/Users/avi.flax/.m2/repository/org/clojure/tools.gitlibs/0.2.64/tools.gitlibs-0.2.64.jar:/Users/avi.flax/.m2/repository/org/apache/maven/resolver/maven-resolver-connector-basic/1.1.1/maven-resolver-connector-basic-1.1.1.jar:/Users/avi.flax/.m2/repository/org/apache/maven/resolver/maven-resolver-impl/1.1.1/maven-resolver-impl-1.1.1.jar:/Users/avi.flax/.m2/repository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar:/Users/avi.flax/.m2/repository/org/apache/maven/maven-model/3.5.2/maven-model-3.5.2.jar:/Users/avi.flax/.m2/repository/org/clojure/test.check/0.10.0-RC1/test.check-0.10.0-RC1.jar:/Users/avi.flax/.gitlibs/libs/taylorwood/clj.native-image/b3823a48be75122b9671c86ce5353a85589ef15f/src:/Users/avi.flax/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.inject/0.3.3/org.eclipse.sisu.inject-0.3.3.jar:/Users/avi.flax/.m2/repository/org/apache/maven/resolver/maven-resolver-util/1.1.1/maven-resolver-util-1.1.1.jar:/Users/avi.flax/.m2/repository/org/eclipse/jetty/websocket/websocket-common/9.4.19.v20190610/websocket-common-9.4.19.v20190610.jar:/Users/avi.flax/.m2/repository/org/clojure/core.memoize/0.5.9/core.memoize-0.5.9.jar:/Users/avi.flax/.m2/repository/hawk/hawk/0.2.11/hawk-0.2.11.jar:/Users/avi.flax/.m2/repository/org/apache/maven/maven-repository-metadata/3.5.2/maven-repository-metadata-3.5.2.jar:/Users/avi.flax/.m2/repository/org/clojure/data.priority-map/0.0.7/data.priority-map-0.0.7.jar:/Users/avi.flax/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar:/Users/avi.flax/.m2/repository/org/apache/maven/maven-builder-support/3.5.2/maven-builder-support-3.5.2.jar:/Users/avi.flax/.m2/repository/com/jcraft/jsch/0.1.54/jsch-0.1.54.jar:/Users/avi.flax/.m2/repository/com/jcraft/jsch.agentproxy.core/0.0.9/jsch.agentproxy.core-0.0.9.jar:/Users/avi.flax/.m2/repository/com/jcraft/jsch.agentproxy.usocket-nc/0.0.9/jsch.agentproxy.usocket-nc-0.0.9.jar:/Users/avi.flax/.m2/repository/org/clojure/core.cache/0.6.5/core.cache-0.6.5.jar:/Users/avi.flax/.m2/repository/org/ow2/asm/asm-all/4.2/asm-all-4.2.jar:/Users/avi.flax/.m2/repository/com/amazonaws/aws-java-sdk-kms/1.11.184/aws-java-sdk-kms-1.11.184.jar:/Users/avi.flax/.m2/repository/org/apache/maven/maven-plugin-api/3.5.2/maven-plugin-api-3.5.2.jar:/Users/avi.flax/.m2/repository/org/clojure/core.async/0.4.500/core.async-0.4.500.jar:/Users/avi.flax/.m2/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-smile/2.9.9/jackson-dataformat-smile-2.9.9.jar:/Users/avi.flax/.m2/repository/org/apache/maven/maven-artifact/3.5.2/maven-artifact-3.5.2.jar:/Users/avi.flax/.m2/repository/org/clojure/data.codec/0.1.0/data.codec-0.1.0.jar:/Users/avi.flax/.m2/repository/com/amazonaws/aws-java-sdk-s3/1.11.184/aws-java-sdk-s3-1.11.184.jar:/Users/avi.flax/.m2/repository/http-kit/http-kit/2.3.0/http-kit-2.3.0.jar \
-H:Path=/Users/avi.flax/dev/fc4-framework/tool \
-H:EnableURLProtocols=https \
-H:EnableURLProtocols=http,https \
-H:ClassInitialization=:build_time \
-H:ClassInitialization=org.httpkit.client:run_time \
-H:FallbackThreshold=0 \
-H:+AllowIncompleteClasspath \
-H:+ReportUnsupportedElementsAtRuntime \
-H:+StaticExecutable \
-H:Name=target/fc4 \
-H:CLibraryPath=/Library/Java/JavaVirtualMachines/graalvm-ce-19.2.1/Contents/Home/jre/lib/svm/clibraries/darwin-amd64 \
-H:Class=fc4.io.cli.main
]
[target/fc4:38671] classlist: 10,130.56 ms
[target/fc4:38671] (cap): 2,358.91 ms
[target/fc4:38671] setup: 3,665.69 ms
[target/fc4:38671] analysis: 91,185.10 ms
Error: Unsupported features in 5 methods
Detailed message:
Error: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: Invoke with MethodHandle argument could not be reduced to at most a single call: java.lang.invoke.MethodHandle.bindTo(Object)
Trace:
at parsing java.lang.invoke.MethodHandleImpl.makePairwiseConvertByEditor(MethodHandleImpl.java:221)
Call path from entry point to java.lang.invoke.MethodHandleImpl.makePairwiseConvertByEditor(MethodHandle, MethodType, boolean, boolean):
at java.lang.invoke.MethodHandleImpl.makePairwiseConvertByEditor(MethodHandleImpl.java:207)
at java.lang.invoke.MethodHandleImpl.makePairwiseConvert(MethodHandleImpl.java:194)
at java.lang.invoke.MethodHandleImpl.makePairwiseConvert(MethodHandleImpl.java:380)
at java.lang.invoke.MethodHandle.asTypeUncached(MethodHandle.java:776)
at java.lang.invoke.MethodHandle.asType(MethodHandle.java:761)
at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
at com.oracle.svm.reflect.MethodHandle_invokeWithArguments_9dda848d0201e4e26c7b3711f56411a6605b9b6f_30.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Method.java:498)
at clojure.core$bean$fn__7197$fn__7198.invoke(core_proxy.clj:408)
at clojure.lang.AFn.run(AFn.java:22)
at java.lang.Thread.run(Thread.java:748)
at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:460)
at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:193)
at com.oracle.svm.core.code.IsolateEnterStub.PosixJavaThreads_pthreadStartRoutine_e1f4a8c0039f8337338252cd8734f63a79b5e3df(generated:0)
Error: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: Invoke with MethodHandle argument could not be reduced to at most a single call: java.lang.invoke.MethodHandleImpl$BindCaller.prepareForInvoker(MethodHandle)
Trace:
at parsing java.lang.invoke.MethodHandleImpl$BindCaller.makeInjectedInvoker(MethodHandleImpl.java:1166)
Call path from entry point to java.lang.invoke.MethodHandleImpl$BindCaller.makeInjectedInvoker(Class):
at java.lang.invoke.MethodHandleImpl$BindCaller.makeInjectedInvoker(MethodHandleImpl.java:1141)
at java.lang.invoke.MethodHandleImpl$BindCaller.access$300(MethodHandleImpl.java:1122)
at java.lang.invoke.MethodHandleImpl$BindCaller$1.computeValue(MethodHandleImpl.java:1175)
at java.lang.invoke.MethodHandleImpl$BindCaller$1.computeValue(MethodHandleImpl.java:1173)
at com.oracle.svm.core.jdk.Target_java_lang_ClassValue.get(JavaLangSubstitutions.java:514)
at java.lang.invoke.MethodHandleImpl.makeArrayElementAccessor(MethodHandleImpl.java:76)
at java.lang.invoke.MethodHandles.arrayElementGetter(MethodHandles.java:1825)
at java.lang.invoke.LambdaFormEditor.spreadArgumentsForm(LambdaFormEditor.java:550)
at java.lang.invoke.MethodHandle.asSpreader(MethodHandle.java:874)
at java.lang.invoke.Invokers.spreadInvoker(Invokers.java:158)
at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
at com.oracle.svm.reflect.MethodHandle_invokeWithArguments_9dda848d0201e4e26c7b3711f56411a6605b9b6f_30.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Method.java:498)
at clojure.core$bean$fn__7197$fn__7198.invoke(core_proxy.clj:408)
at clojure.lang.AFn.run(AFn.java:22)
at java.lang.Thread.run(Thread.java:748)
at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:460)
at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:193)
at com.oracle.svm.core.code.IsolateEnterStub.PosixJavaThreads_pthreadStartRoutine_e1f4a8c0039f8337338252cd8734f63a79b5e3df(generated:0)
Error: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: Invoke with MethodHandle argument could not be reduced to at most a single call: java.lang.invoke.MethodHandleImpl.buildVarargsArray(MethodHandle, MethodHandle, int)
Trace:
at parsing java.lang.invoke.MethodHandleImpl.varargsArray(MethodHandleImpl.java:1634)
Call path from entry point to java.lang.invoke.MethodHandleImpl.varargsArray(Class, int):
at java.lang.invoke.MethodHandleImpl.varargsArray(MethodHandleImpl.java:1611)
at java.lang.invoke.MethodHandle.asCollector(MethodHandle.java:999)
at java.lang.invoke.MethodHandleImpl$AsVarargsCollector.asTypeUncached(MethodHandleImpl.java:502)
at java.lang.invoke.MethodHandle.asType(MethodHandle.java:761)
at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
at com.oracle.svm.reflect.MethodHandle_invokeWithArguments_9dda848d0201e4e26c7b3711f56411a6605b9b6f_30.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Method.java:498)
at clojure.core$bean$fn__7197$fn__7198.invoke(core_proxy.clj:408)
at clojure.lang.AFn.run(AFn.java:22)
at java.lang.Thread.run(Thread.java:748)
at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:460)
at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:193)
at com.oracle.svm.core.code.IsolateEnterStub.PosixJavaThreads_pthreadStartRoutine_e1f4a8c0039f8337338252cd8734f63a79b5e3df(generated:0)
Error: type is not available in this platform: com.oracle.svm.hosted.cenum.CEnumCallWrapperMethod
Trace: object java.lang.invoke.MethodType
object java.lang.invoke.MethodType$ConcurrentWeakInternSet$WeakEntry
object java.util.concurrent.ConcurrentHashMap$Node
object java.util.concurrent.ConcurrentHashMap$Node[]
object java.util.concurrent.ConcurrentHashMap
object java.lang.invoke.MethodType$ConcurrentWeakInternSet
method java.lang.invoke.MethodType.makeImpl(Class, Class[], boolean)
Call path from entry point to java.lang.invoke.MethodType.makeImpl(Class, Class[], boolean):
at java.lang.invoke.MethodType.makeImpl(MethodType.java:301)
at java.lang.invoke.MethodType.methodType(MethodType.java:206)
at com.oracle.svm.reflect.MethodType_methodType_9d13644056a712f9cdb73fb2ef8b26f65294abe9_38.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Method.java:498)
at clojure.core$bean$fn__7197$fn__7198.invoke(core_proxy.clj:408)
at clojure.lang.AFn.run(AFn.java:22)
at java.lang.Thread.run(Thread.java:748)
at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:460)
at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:193)
at com.oracle.svm.core.code.IsolateEnterStub.PosixJavaThreads_pthreadStartRoutine_e1f4a8c0039f8337338252cd8734f63a79b5e3df(generated:0)
Error: type is not available in this platform: org.graalvm.nativeimage.hosted.Feature$BeforeAnalysisAccess
Trace: object java.lang.Class[]
object java.lang.invoke.MethodType
object java.lang.invoke.MethodType$ConcurrentWeakInternSet$WeakEntry
object java.util.concurrent.ConcurrentHashMap$Node
object java.util.concurrent.ConcurrentHashMap$Node[]
object java.util.concurrent.ConcurrentHashMap
object java.lang.invoke.MethodType$ConcurrentWeakInternSet
method java.lang.invoke.MethodType.makeImpl(Class, Class[], boolean)
Call path from entry point to java.lang.invoke.MethodType.makeImpl(Class, Class[], boolean):
at java.lang.invoke.MethodType.makeImpl(MethodType.java:301)
at java.lang.invoke.MethodType.methodType(MethodType.java:206)
at com.oracle.svm.reflect.MethodType_methodType_9d13644056a712f9cdb73fb2ef8b26f65294abe9_38.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Method.java:498)
at clojure.core$bean$fn__7197$fn__7198.invoke(core_proxy.clj:408)
at clojure.lang.AFn.run(AFn.java:22)
at java.lang.Thread.run(Thread.java:748)
at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:460)
at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:193)
at com.oracle.svm.core.code.IsolateEnterStub.PosixJavaThreads_pthreadStartRoutine_e1f4a8c0039f8337338252cd8734f63a79b5e3df(generated:0)
Error: Use -H:+ReportExceptionStackTraces to print stacktrace of underlying exception
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:1447)
at com.oracle.svm.driver.NativeImage.build(NativeImage.java:1225)
at com.oracle.svm.driver.NativeImage.performBuild(NativeImage.java:1187)
at com.oracle.svm.driver.NativeImage.main(NativeImage.java:1146)
commit: FundingCircle/fc4-framework@8024861
from clj.native-image.
Taylor, thank you so much! I’ll revisit this and pick it back up from where you left it, hopefully in a few weeks. Thanks! 🤗
from clj.native-image.
I failed to mention that what I tried with was a separate project.
Sorry for any confusion.
from clj.native-image.
I just tried building FundingCircle/fc4-framework@ 36aad75491a7c08b2b5db932b6749a69baa71e23 (tip of native-image branch) -- but I get:
$ clj -Sforce -A:native-image
Compiling fc4.io.cli.main
Execution error (FileNotFoundException) at fc4.integrations.structurizr.express.chromium-renderer/loading (chromium_renderer.clj:1).
Could not locate clj_chrome_devtools/automation__init.class, clj_chrome_devtools/automation.clj or clj_chrome_devtools/automation.cljc on classpath. Please check that namespaces with dashes use underscores in the Clojure file name.
May be I'm missing some setup step?
from clj.native-image.
Upgrading my clj / clojure to the latest version (1.10.1.492) seems to have addressed this issue (thanks @seancorfield).
I have a running native image binary of fc4 that doesn't crash on startup now, @aviflax :) -s
and -f
don't cause crashes -- working on getting -w
and -r
to work.
Things I did to get this running (a Linux distribution, fwiw):
- Add
"--initialize-at-run-time=com.barbarysoftware.jna.CarbonAPI"
to native-image options - Create the
target
directory in thetool
directory before starting (building stops, complaining about path issues if it doesn't exist) - Reverting org.clojure/tools.namespace's version to 0.2.11 from 0.3.1 in clj.native-image's deps.edn
- Use 602587d (except with the change in version mentioned above for 1 dependency)
Not quite there yet though, as I get:
$ ./target/fc4 -fsrw doc/examples/docker-install-and-render/
Exception in thread "main" java.lang.IllegalArgumentException: No matching field found: start for class org.eclipse.jetty.websocket.client.WebSocketClient
at clojure.lang.Reflector.getInstanceField(Reflector.java:397)
at clojure.lang.Reflector.invokeNoArgInstanceMember(Reflector.java:440)
at clj_chrome_devtools.impl.connection$connect_url.invokeStatic(connection.clj:127)
at clj_chrome_devtools.impl.connection$connect.invokeStatic(connection.clj:151)
at fc4.integrations.structurizr.express.chromium_renderer$make_renderer.invokeStatic(chromium_renderer.clj:280)
at fc4.integrations.structurizr.express.chromium_renderer$make_renderer.invokeStatic(chromium_renderer.clj:274)
at fc4.io.cli.main$_main.invokeStatic(main.clj:202)
at fc4.io.cli.main$_main.doInvoke(main.clj:192)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at fc4.io.cli.main.main(Unknown Source)
Adding a reflection.json file with appropriate content (and adding "-H:ReflectionConfigurationFiles=reflection.json"
to native image options) seems to make some of these types of errors go away.
from clj.native-image.
This exception at runtime has me stumped:
Exception in thread "main" java.lang.IllegalArgumentException: Class java.nio.file.StandardWatchEventKinds$StdWatchEventKind[] is instantiated reflectively but was never registered. Register the class by using org.graalvm.nativeimage.hosted.RuntimeReflection
at com.oracle.svm.core.genscavenge.graal.AllocationSnippets.checkArrayHub(AllocationSnippets.java:172)
at clojure.lang.RT.seqToTypedArray(RT.java:1753)
at clojure.lang.RT.seqToTypedArray(RT.java:1749)
at clojure.core$into_array.invokeStatic(core.clj:3452)
at clojure.core$into_array.invoke(core.clj:3443)
at hawk.watcher$recursive_register_BANG_.invokeStatic(watcher.clj:39)
at hawk.watcher$recursive_register_BANG_.invoke(watcher.clj:38)
at hawk.watcher$fn__109.invokeStatic(watcher.clj:73)
at hawk.watcher$fn__109.invoke(watcher.clj:72)
at hawk.watcher$fn__38$G__29__47.invoke(watcher.clj:24)
at hawk.core$watch_BANG_.invokeStatic(core.clj:83)
at hawk.core$watch_BANG_.doInvoke(core.clj:59)
at clojure.lang.RestFn.invoke(RestFn.java:410)
at fc4.io.watch$start.invokeStatic(watch.clj:124)
at fc4.io.cli.main$start.invokeStatic(main.clj:188)
at fc4.io.cli.main$_main$fn__24295.invoke(main.clj:203)
at fc4.io.cli.main$_main.invokeStatic(main.clj:203)
at fc4.io.cli.main$_main.doInvoke(main.clj:192)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at fc4.io.cli.main.main(Unknown Source)
FWIW, the reflection.json file is zipped below:
from clj.native-image.
@sogaiu - did you ever find a solution for this ? I'm running into a similar error using graal and a file watcher library. I'm trying to setup my reflection file to include the java.nio.file.StandardWatchEventKinds$StdWatchEventKind[] but haven't had much luck.
from clj.native-image.
@teesloane I don't think I did.
My recommendation is to ask on clojurians slack #graalvm channel about your specific situation.
from clj.native-image.
Related Issues (17)
- Exception when image generation options are used HOT 1
- Fallback to native-image on PATH? HOT 3
- clj.native-image doesn't use the constructed classpath HOT 7
- Compile path doesn't include :extra-paths from aliases HOT 6
- Windows classpath length issue HOT 20
- Extra compilation?
- ArtifactResolutionException: Could not find artifact org.clojure:clojure:jar:1.7.0 HOT 4
- Missing .class files? HOT 5
- tools.deps api changes
- clj.native-image keeps generating a fallback image HOT 1
- FileNotFoundException: Could not locate <my class>.class HOT 4
- Image name mixup HOT 1
- Question about jvm-opts HOT 6
- Building with GraalVM on Windows (in Powershell) crashes HOT 5
- --no-server option is frowned upon by GraalVM 19 Windows HOT 2
- command is named slightly differently on Windows HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from clj.native-image.