Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Building substratevm on Windows fails. #946

Closed
Nik-- opened this issue Jan 30, 2019 · 4 comments
Assignees
Labels

Comments

@Nik--
Copy link

@Nik-- Nik-- commented Jan 30, 2019

I'm trying to build substratevm on windows, following the guide at README.md there, but it fails with a rather vague error about missing file without saying which one it is.

$ mx build
build: Checking SubstrateVM requirements for building ...
JAVA_HOME: C:\Users\Nik\Desktop\labsjdk1.8.0_192-jvmci-0.54
EXTRA_JAVA_HOMES:
Dependencies removed from build:
 project jdk.tools.jaotc.binformat was removed as JDK 11 is not available
 project jdk.tools.jaotc was removed as JDK 11 is not available
 project com.oracle.truffle.dsl.processor.jdk9 was removed as JDK 9 is not available
 project org.graalvm.compiler.serviceprovider.jdk9 was removed as JDK 9 is not available
 project org.graalvm.compiler.hotspot.jdk9 was removed as JDK 9 is not available
 project org.graalvm.compiler.hotspot.jdk11 was removed as JDK 11 is not available
 project org.graalvm.compiler.hotspot.jdk12 was removed as JDK 12 is not available
 project org.graalvm.compiler.lir.aarch64.jdk11 was removed as JDK 11 is not available
 project org.graalvm.compiler.truffle.runtime.serviceprovider.jdk9 was removed as JDK 9 is not available
 project com.oracle.svm.core.jdk9 was removed as JDK 9 is not available
 org.graalvm.polyglot.nativeapi.native removed: windows is not supported
 project org.graalvm.compiler.replacements.jdk12.test was removed as JDK 12 is not available
 com.oracle.truffle.nfi removed: windows is not supported
 removed com.oracle.truffle.nfi.native because com.oracle.truffle.nfi was removed
 distribution TRUFFLE_NFI_NATIVE was removed as all its dependencies were removed
 removed com.oracle.svm.libffi because TRUFFLE_NFI_NATIVE was removed
 project org.graalvm.compiler.hotspot.jdk9.test was removed as JDK 9 is not available
 removed org.graalvm.polyglot.nativeapi because org.graalvm.polyglot.nativeapi.native was removed
 project org.graalvm.compiler.replacements.jdk9.test was removed as JDK 9 is not available
 distribution TRUFFLE_NFI was removed as all its dependencies were removed
 removed com.oracle.truffle.nfi.test.native because TRUFFLE_NFI_NATIVE was removed
 distribution TRUFFLE_TEST_NATIVE was removed as all its dependencies were removed
 removed com.oracle.truffle.nfi.test because TRUFFLE_TEST_NATIVE was removed
 project jdk.tools.jaotc.test was removed as JDK 11 is not available
 project org.graalvm.compiler.hotspot.management.jdk11 was removed as JDK 11 isnot available
 removed com.oracle.svm.truffle.nfi because TRUFFLE_NFI was removed
 project org.graalvm.compiler.core.jdk9.test was removed as JDK 9 is not available
 project org.graalvm.compiler.replacements.jdk9_11.test was removed as JDK 9 isnot available
 project com.oracle.svm.core.jdk9.posix was removed as JDK 9 is not available
 distribution POLYGLOT_NATIVE_API was removed as all its dependencies were removed
 distribution POLYGLOT_NATIVE_API_HEADERS was removed as all its dependencies were removed
 distribution JAOTC was removed as all its dependencies were removed
 distribution JAOTC_TEST was removed as all its dependencies were removed
 distribution POLYGLOT_NATIVE_API_SUPPORT was removed as all its dependencies were removed
 distribution TRUFFLE_GRAALVM_SUPPORT was removed as all its dependencies were removed
Non-default dependencies removed from build (use mx build --all to build them):
 JACOCOREPORT_0.8.2
Compiling com.oracle.mxtool.compilerserver with javac(JDK 1.8)... [C:\Users\Nik\Desktop\mx\mx\mxbuild\java\com.oracle.mxtool.compilerserver\bin\com\oracle\mxtool\compilerserver\CompilerDaemon.class does not exist]
Compiling org.graalvm.compiler.api.directives with javac-daemon(JDK 1.8)... [C:\Users\Nik\Desktop\graal\graal\compiler\mxbuild\src\org.graalvm.compiler.api.directives\bin\org\graalvm\compiler\api\directives\GraalDirectives.class does not exist]
Compiling org.graalvm.compiler.api.runtime with javac-daemon(JDK 1.8)... [C:\Users\Nik\Desktop\graal\graal\compiler\mxbuild\src\org.graalvm.compiler.api.runtime\bin\org\graalvm\compiler\api\runtime\GraalJVMCICompiler.class does not exist]
Compiling org.graalvm.compiler.api.test with javac-daemon(JDK 1.8)... [dependency org.graalvm.compiler.api.runtime updated]
Compiling org.graalvm.compiler.processor with javac-daemon(JDK 1.8)... [C:\Users\Nik\Desktop\graal\graal\compiler\mxbuild\src\org.graalvm.compiler.processor\bin\org\graalvm\compiler\processor\AbstractProcessor.class does not exist]
Compiling org.graalvm.compiler.serviceprovider.processor with javac-daemon(JDK 1.8)... [dependency org.graalvm.compiler.processor updated]
Archiving GRAAL_PROCESSOR_COMMON... [dependency org.graalvm.compiler.processor updated]
Archiving GRAAL_SERVICEPROVIDER_PROCESSOR... [dependency org.graalvm.compiler.serviceprovider.processor updated]
Compiling org.graalvm.compiler.options.processor with javac-daemon(JDK 1.8)... [dependency org.graalvm.compiler.processor updated]
Archiving GRAAL_OPTIONS_PROCESSOR... [dependency org.graalvm.compiler.options.processor updated]
Compiling org.graalvm.compiler.nodeinfo.processor with javac-daemon(JDK 1.8)...[dependency org.graalvm.compiler.processor updated]
Archiving GRAAL_NODEINFO_PROCESSOR... [dependency org.graalvm.compiler.nodeinfo.processor updated]
Compiling org.graalvm.compiler.nodeinfo with javac-daemon(JDK 1.8)... [C:\Users\Nik\Desktop\graal\graal\compiler\mxbuild\src\org.graalvm.compiler.nodeinfo\bin\org\graalvm\compiler\nodeinfo\InputType.class does not exist]
Compiling org.graalvm.options with javac-daemon(JDK 1.8)... [C:\Users\Nik\Desktop\graal\graal\sdk\mxbuild\src\org.graalvm.options\bin\org\graalvm\options\OptionCategory.class does not exist]
Compiling org.graalvm.polyglot with javac-daemon(JDK 1.8)... [dependency org.graalvm.options updated]
Compiling org.graalvm.word with javac-daemon(JDK 1.8)... [C:\Users\Nik\Desktop\graal\graal\sdk\mxbuild\src\org.graalvm.word\bin\org\graalvm\word\ComparableWord.class does not exist]
Compiling org.graalvm.nativeimage with javac-daemon(JDK 1.8)... [dependency org.graalvm.word updated]
Compiling org.graalvm.collections with javac-daemon(JDK 1.8)... [C:\Users\Nik\Desktop\graal\graal\sdk\mxbuild\src\org.graalvm.collections\bin\org\graalvm\collections\EconomicMap.class does not exist]
Archiving GRAAL_SDK... [dependency org.graalvm.polyglot updated]
Compiling org.graalvm.util with javac-daemon(JDK 1.8)... [dependency GRAAL_SDK updated]
Compiling org.graalvm.compiler.serviceprovider with javac-daemon(JDK 1.8)... [C:\Users\Nik\Desktop\graal\graal\compiler\mxbuild\src\org.graalvm.compiler.serviceprovider\bin\org\graalvm\compiler\serviceprovider\GraalServices.class does not exist]
Compiling org.graalvm.graphio with javac-daemon(JDK 1.8)... [C:\Users\Nik\Desktop\graal\graal\compiler\mxbuild\src\org.graalvm.graphio\bin\org\graalvm\graphio\DefaultGraphBlocks.class does not exist]
Compiling org.graalvm.compiler.options with javac-daemon(JDK 1.8)... [dependency GRAAL_SDK updated]
Compiling org.graalvm.compiler.debug with javac-daemon(JDK 1.8)... [dependency GRAAL_OPTIONS_PROCESSOR updated]
Compiling org.graalvm.compiler.core.common with javac-daemon(JDK 1.8)... [dependency GRAAL_OPTIONS_PROCESSOR updated]
Compiling org.graalvm.compiler.bytecode with javac-daemon(JDK 1.8)... [C:\Users\Nik\Desktop\graal\graal\compiler\mxbuild\src\org.graalvm.compiler.bytecode\bin\org\graalvm\compiler\bytecode\BridgeMethodUtils.class does not exist]
Compiling org.graalvm.compiler.graph with javac-daemon(JDK 1.8)... [dependency GRAAL_OPTIONS_PROCESSOR updated]
Compiling org.graalvm.compiler.code with javac-daemon(JDK 1.8)... [dependency GRAAL_SERVICEPROVIDER_PROCESSOR updated]
Compiling org.graalvm.compiler.core.match.processor with javac-daemon(JDK 1.8)... [dependency org.graalvm.compiler.processor updated]
Archiving GRAAL_COMPILER_MATCH_PROCESSOR... [dependency org.graalvm.compiler.core.match.processor updated]
Compiling org.graalvm.compiler.replacements.processor with javac-daemon(JDK 1.8)... [dependency org.graalvm.compiler.processor updated]
Archiving GRAAL_REPLACEMENTS_PROCESSOR... [dependency org.graalvm.compiler.replacements.processor updated]
Compiling org.graalvm.compiler.api.replacements with javac-daemon(JDK 1.8)... [C:\Users\Nik\Desktop\graal\graal\compiler\mxbuild\src\org.graalvm.compiler.api.replacements\bin\org\graalvm\compiler\api\replacements\ClassSubstitution.class does not exist]
Compiling org.graalvm.compiler.asm with javac-daemon(JDK 1.8)... [dependency org.graalvm.compiler.core.common updated]
Compiling org.graalvm.compiler.lir with javac-daemon(JDK 1.8)... [dependency GRAAL_OPTIONS_PROCESSOR updated]
Compiling org.graalvm.compiler.nodes with javac-daemon(JDK 1.8)... [dependency GRAAL_NODEINFO_PROCESSOR updated]
Compiling org.graalvm.compiler.phases with javac-daemon(JDK 1.8)... [dependencyGRAAL_OPTIONS_PROCESSOR updated]
Compiling org.graalvm.compiler.phases.common with javac-daemon(JDK 1.8)... [dependency GRAAL_NODEINFO_PROCESSOR updated]
Compiling org.graalvm.compiler.virtual with javac-daemon(JDK 1.8)... [dependency GRAAL_OPTIONS_PROCESSOR updated]
Compiling org.graalvm.compiler.loop with javac-daemon(JDK 1.8)... [dependency GRAAL_OPTIONS_PROCESSOR updated]
Compiling org.graalvm.compiler.loop.phases with javac-daemon(JDK 1.8)... [dependency GRAAL_OPTIONS_PROCESSOR updated]
Compiling org.graalvm.compiler.core with javac-daemon(JDK 1.8)... [dependency GRAAL_SERVICEPROVIDER_PROCESSOR updated]
Compiling org.graalvm.compiler.runtime with javac-daemon(JDK 1.8)... [dependency org.graalvm.compiler.core updated]
Compiling org.graalvm.compiler.test with javac-daemon(JDK 1.8)... [dependency org.graalvm.compiler.debug updated]
Compiling org.graalvm.compiler.asm.test with javac-daemon(JDK 1.8)... [dependency org.graalvm.compiler.api.test updated]
Compiling org.graalvm.compiler.asm.amd64 with javac-daemon(JDK 1.8)... [dependency org.graalvm.compiler.asm updated]
Compiling org.graalvm.compiler.asm.amd64.test with javac-daemon(JDK 1.8)... [dependency org.graalvm.compiler.asm.test updated]
Compiling org.graalvm.compiler.truffle.common.processor with javac-daemon(JDK 1.8)... [dependency org.graalvm.compiler.options.processor updated]
Compiling org.graalvm.compiler.truffle.common with javac-daemon(JDK 1.8)... [dependency org.graalvm.graphio updated]
Archiving GRAAL_GRAPHIO... [dependency org.graalvm.graphio updated]
Archiving GRAAL_TRUFFLE_COMMON... [dependency org.graalvm.compiler.truffle.common updated]
Archiving TRUFFLE_COMMON_PROCESSOR... [dependency org.graalvm.compiler.truffle.common.processor updated]
Compiling org.graalvm.compiler.java with javac-daemon(JDK 1.8)... [dependency GRAAL_OPTIONS_PROCESSOR updated]
Compiling org.graalvm.compiler.word with javac-daemon(JDK 1.8)... [dependency GRAAL_NODEINFO_PROCESSOR updated]
Compiling org.graalvm.compiler.replacements with javac-daemon(JDK 1.8)... [dependency GRAAL_OPTIONS_PROCESSOR updated]
Compiling org.graalvm.compiler.truffle.compiler with javac-daemon(JDK 1.8)... [dependency TRUFFLE_COMMON_PROCESSOR updated]
Compiling org.graalvm.compiler.asm.sparc with javac-daemon(JDK 1.8)... [dependency org.graalvm.compiler.asm updated]
Compiling org.graalvm.compiler.asm.sparc.test with javac-daemon(JDK 1.8)... [dependency org.graalvm.compiler.asm.test updated]
Compiling com.oracle.truffle.api with javac-daemon(JDK 1.8)... [dependency GRAAL_SDK updated]
Compiling com.oracle.truffle.api.dsl with javac-daemon(JDK 1.8)... [dependency com.oracle.truffle.api updated]
Compiling com.oracle.truffle.api.profiles with javac-daemon(JDK 1.8)... [dependency com.oracle.truffle.api updated]
Compiling com.oracle.truffle.api.instrumentation with javac-daemon(JDK 1.8)... [dependency com.oracle.truffle.api.profiles updated]
Compiling com.oracle.truffle.dsl.processor with javac-daemon(JDK 1.8)... [dependency com.oracle.truffle.api.dsl updated]
Archiving TRUFFLE_DSL_PROCESSOR_INTERNAL... [dependency com.oracle.truffle.dsl.processor updated]
Compiling com.oracle.truffle.api.interop with javac-daemon(JDK 1.8)... [dependency TRUFFLE_DSL_PROCESSOR_INTERNAL updated]
Compiling com.oracle.truffle.api.utilities with javac-daemon(JDK 1.8)... [dependency com.oracle.truffle.api updated]
Compiling com.oracle.truffle.api.object with javac-daemon(JDK 1.8)... [dependency com.oracle.truffle.api.interop updated]
Compiling com.oracle.truffle.api.object.dsl with javac-daemon(JDK 1.8)... [dependency com.oracle.truffle.api.object updated]
Compiling org.graalvm.compiler.debug.test with javac-daemon(JDK 1.8)... [dependency org.graalvm.compiler.debug updated]
Compiling org.graalvm.compiler.printer with javac-daemon(JDK 1.8)... [dependency GRAAL_OPTIONS_PROCESSOR updated]
Compiling org.graalvm.compiler.hotspot with javac-daemon(JDK 1.8)... [dependency GRAAL_NODEINFO_PROCESSOR updated]
Compiling org.graalvm.compiler.graph.test with javac-daemon(JDK 1.8)... [dependency GRAAL_NODEINFO_PROCESSOR updated]
Compiling org.graalvm.compiler.core.test with javac-daemon(JDK 1.8)... [dependency GRAAL_NODEINFO_PROCESSOR updated]
Compiling org.graalvm.compiler.jtt with javac-daemon(JDK 1.8)... [dependency org.graalvm.compiler.core.test updated]
Compiling org.graalvm.compiler.lir.jtt with javac-daemon(JDK 1.8)... [dependency GRAAL_NODEINFO_PROCESSOR updated]
Compiling org.graalvm.compiler.hotspot.sparc.test with javac-daemon(JDK 1.8)...[dependency org.graalvm.compiler.hotspot updated]
Compiling org.graalvm.compiler.serviceprovider.jdk8 with javac-daemon(JDK 1.8)... [C:\Users\Nik\Desktop\graal\graal\compiler\mxbuild\src\org.graalvm.compiler.serviceprovider.jdk8\bin\org\graalvm\compiler\serviceprovider\GraalServices.classdoes not exist]
Compiling org.graalvm.compiler.asm.aarch64 with javac-daemon(JDK 1.8)... [dependency org.graalvm.compiler.asm updated]
Compiling org.graalvm.compiler.lir.aarch64 with javac-daemon(JDK 1.8)... [dependency GRAAL_OPTIONS_PROCESSOR updated]
Compiling org.graalvm.compiler.core.aarch64 with javac-daemon(JDK 1.8)... [dependency GRAAL_NODEINFO_PROCESSOR updated]
Compiling org.graalvm.compiler.replacements.aarch64 with javac-daemon(JDK 1.8)... [dependency GRAAL_NODEINFO_PROCESSOR updated]
Compiling org.graalvm.compiler.lir.amd64 with javac-daemon(JDK 1.8)... [dependency GRAAL_OPTIONS_PROCESSOR updated]
Compiling org.graalvm.compiler.core.amd64 with javac-daemon(JDK 1.8)... [dependency GRAAL_NODEINFO_PROCESSOR updated]
Compiling org.graalvm.compiler.replacements.amd64 with javac-daemon(JDK 1.8)...[dependency GRAAL_NODEINFO_PROCESSOR updated]
Compiling org.graalvm.compiler.lir.sparc with javac-daemon(JDK 1.8)... [dependency org.graalvm.compiler.asm.sparc updated]
Compiling org.graalvm.compiler.core.sparc with javac-daemon(JDK 1.8)... [dependency GRAAL_NODEINFO_PROCESSOR updated]
Compiling org.graalvm.compiler.replacements.sparc with javac-daemon(JDK 1.8)...[dependency org.graalvm.compiler.replacements updated]
Compiling org.graalvm.compiler.hotspot.aarch64 with javac-daemon(JDK 1.8)... [dependency GRAAL_SERVICEPROVIDER_PROCESSOR updated]
Compiling org.graalvm.compiler.hotspot.amd64 with javac-daemon(JDK 1.8)... [dependency GRAAL_SERVICEPROVIDER_PROCESSOR updated]
Compiling org.graalvm.compiler.hotspot.sparc with javac-daemon(JDK 1.8)... [dependency GRAAL_SERVICEPROVIDER_PROCESSOR updated]
Compiling org.graalvm.compiler.truffle.compiler.amd64 with javac-daemon(JDK 1.8)... [dependency GRAAL_NODEINFO_PROCESSOR updated]
Compiling org.graalvm.compiler.truffle.runtime.serviceprovider with javac-daemon(JDK 1.8)... [C:\Users\Nik\Desktop\graal\graal\compiler\mxbuild\src\org.graalvm.compiler.truffle.runtime.serviceprovider\bin\org\graalvm\compiler\truffle\runtime\serviceprovider\TruffleRuntimeServices.class does not exist]
Compiling org.graalvm.compiler.truffle.runtime.serviceprovider.jdk8 with javac-daemon(JDK 1.8)... [dependency org.graalvm.compiler.truffle.runtime.serviceprovider updated]
Compiling com.oracle.truffle.dsl.processor.interop with javac-daemon(JDK 1.8)... [dependency com.oracle.truffle.api.interop updated]
Compiling com.oracle.truffle.object.dsl.processor with javac-daemon(JDK 1.8)...[dependency com.oracle.truffle.api.object.dsl updated]
Archiving TRUFFLE_DSL_PROCESSOR_INTEROP_INTERNAL... [dependency com.oracle.truffle.dsl.processor updated]
Compiling com.oracle.truffle.polyglot with javac-daemon(JDK 1.8)... [dependencyTRUFFLE_DSL_PROCESSOR_INTEROP_INTERNAL updated]
Compiling com.oracle.truffle.api.debug with javac-daemon(JDK 1.8)... [dependency TRUFFLE_DSL_PROCESSOR_INTERNAL updated]
Compiling com.oracle.truffle.object with javac-daemon(JDK 1.8)... [dependency com.oracle.truffle.api.object updated]
Compiling com.oracle.truffle.object.basic with javac-daemon(JDK 1.8)... [dependency com.oracle.truffle.object updated]
Archiving TRUFFLE_API... [dependency com.oracle.truffle.api.dsl updated]
Archiving TRUFFLE_DSL_PROCESSOR... [dependency com.oracle.truffle.dsl.processorupdated]
Compiling org.graalvm.compiler.truffle.runtime with javac-daemon(JDK 1.8)... [dependency TRUFFLE_COMMON_PROCESSOR updated]
Compiling org.graalvm.compiler.truffle.common.hotspot with javac-daemon(JDK 1.8)... [dependency GRAAL_OPTIONS_PROCESSOR updated]
Compiling org.graalvm.compiler.truffle.runtime.hotspot with javac-daemon(JDK 1.8)... [dependency org.graalvm.compiler.truffle.runtime updated]
Compiling org.graalvm.compiler.truffle.compiler.hotspot with javac-daemon(JDK 1.8)... [dependency GRAAL_OPTIONS_PROCESSOR updated]
Compiling org.graalvm.compiler.truffle.runtime.hotspot.java with javac-daemon(JDK 1.8)... [dependency GRAAL_SERVICEPROVIDER_PROCESSOR updated]
Compiling org.graalvm.compiler.truffle.compiler.hotspot.amd64 with javac-daemon(JDK 1.8)... [dependency GRAAL_SERVICEPROVIDER_PROCESSOR updated]
Compiling org.graalvm.compiler.truffle.compiler.hotspot.sparc with javac-daemon(JDK 1.8)... [dependency GRAAL_SERVICEPROVIDER_PROCESSOR updated]
Compiling org.graalvm.compiler.truffle.compiler.hotspot.aarch64 with javac-daemon(JDK 1.8)... [dependency GRAAL_SERVICEPROVIDER_PROCESSOR updated]
Archiving GRAAL... [dependency org.graalvm.compiler.serviceprovider.jdk8 updated]
Compiling com.oracle.svm.core with javac-daemon(JDK 1.8)... [dependency GRAAL_NODEINFO_PROCESSOR updated]
Compiling com.oracle.svm.core.graal with javac-daemon(JDK 1.8)... [dependency GRAAL_NODEINFO_PROCESSOR updated]
Compiling com.oracle.truffle.api.test with javac-daemon(JDK 1.8)... [dependencyTRUFFLE_DSL_PROCESSOR updated]
Compiling com.oracle.truffle.api.dsl.test with javac-daemon(JDK 1.8)... [dependency TRUFFLE_DSL_PROCESSOR updated]
Compiling com.oracle.truffle.api.instrumentation.test with javac-daemon(JDK 1.8)... [dependency TRUFFLE_DSL_PROCESSOR updated]
Compiling org.graalvm.polyglot.tck with javac-daemon(JDK 1.8)... [dependency org.graalvm.polyglot updated]
Archiving POLYGLOT_TCK... [dependency org.graalvm.polyglot.tck updated]
Compiling com.oracle.truffle.tck with javac-daemon(JDK 1.8)... [dependency TRUFFLE_DSL_PROCESSOR updated]
Compiling com.oracle.truffle.api.debug.test with javac-daemon(JDK 1.8)... [dependency TRUFFLE_DSL_PROCESSOR_INTEROP_INTERNAL updated]
Compiling com.oracle.truffle.tck.common with javac-daemon(JDK 1.8)... [dependency POLYGLOT_TCK updated]
Compiling com.oracle.truffle.tck.tests with javac-daemon(JDK 1.8)... [dependency POLYGLOT_TCK updated]
Compiling com.oracle.truffle.sl with javac-daemon(JDK 1.8)... [dependency TRUFFLE_DSL_PROCESSOR updated]
Compiling com.oracle.truffle.sl.test with javac-daemon(JDK 1.8)... [dependency TRUFFLE_DSL_PROCESSOR updated]
Compiling org.graalvm.collections.test with javac-daemon(JDK 1.8)... [dependency org.graalvm.collections updated]
Compiling org.graalvm.compiler.replacements.test with javac-daemon(JDK 1.8)... [dependency GRAAL_NODEINFO_PROCESSOR updated]
Compiling org.graalvm.compiler.hotspot.test with javac-daemon(JDK 1.8)... [dependency GRAAL_NODEINFO_PROCESSOR updated]
Compiling org.graalvm.compiler.hotspot.aarch64.test with javac-daemon(JDK 1.8)... [dependency GRAAL_NODEINFO_PROCESSOR updated]
Compiling com.oracle.objectfile with javac-daemon(JDK 1.8)... [dependency GRAAL_OPTIONS_PROCESSOR updated]
Compiling com.oracle.graal.pointsto with javac-daemon(JDK 1.8)... [dependency GRAAL_NODEINFO_PROCESSOR updated]
Compiling com.oracle.svm.hosted with javac-daemon(JDK 1.8)... [dependency GRAAL_NODEINFO_PROCESSOR updated]
Compiling com.oracle.svm.core.windows with javac-daemon(JDK 1.8)... [dependencyGRAAL_NODEINFO_PROCESSOR updated]
Building com.oracle.svm.native.strictmath with Ninja... [no build manifest]
[1/82] CC src\fdlibm\src\e_hypot.obj
FAILED: src/fdlibm/src/e_hypot.obj
cl -nologo -showIncludes -IC:\Users\Nik\Desktop\graal\graal\substratevm\src\com.oracle.svm.native.strictmath\src\fdlibm\include -O1 -D_LITTLE_ENDIAN -c C:\Users\Nik\Desktop\graal\graal\substratevm\src\com.oracle.svm.native.strictmath\src\fdlibm\src\e_hypot.c -Fosrc\fdlibm\src\e_hypot.obj
CreateProcess failed: The system cannot find the file specified.
[2/82] CC src\fdlibm\src\e_acos.obj
FAILED: src/fdlibm/src/e_acos.obj
cl -nologo -showIncludes -IC:\Users\Nik\Desktop\graal\graal\substratevm\src\com.oracle.svm.native.strictmath\src\fdlibm\include -O1 -D_LITTLE_ENDIAN -c C:\Users\Nik\Desktop\graal\graal\substratevm\src\com.oracle.svm.native.strictmath\src\fdlibm\src\e_acos.c -Fosrc\fdlibm\src\e_acos.obj
CreateProcess failed: The system cannot find the file specified.
ninja: build stopped: subcommand failed.
@olpaw olpaw added the native-image label Jan 30, 2019
@Nik--

This comment has been minimized.

Copy link
Author

@Nik-- Nik-- commented Jan 30, 2019

Seems like adding C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64\ to PATH seems to have fixed this issue. The obscure error appeared to be that "cl.exe" couldn't be found in PATH. Looks like the guide did not include windows specific stuff yet.

Now since this error got fixed, I'm getting another error... as expected, this time with libs that cannot be found:

Building com.oracle.svm.native.strictmath with Ninja... [ninja explain: deps for 'src/StrictMath.obj' are missing]
[1/82] CC src\fdlibm\src\e_asin.obj
[2/82] CC src\StrictMath.obj
[3/82] CC src\fdlibm\src\e_cosh.obj
[4/82] CC src\fdlibm\src\e_atan2.obj
[5/82] CC src\fdlibm\src\e_exp.obj
[6/82] CC src\fdlibm\src\e_fmod.obj
[7/82] CC src\fdlibm\src\e_gamma.obj
[8/82] CC src\fdlibm\src\e_gamma_r.obj
[9/82] CC src\fdlibm\src\e_hypot.obj
[10/82] CC src\fdlibm\src\e_atanh.obj
[11/82] CC src\fdlibm\src\e_acos.obj
[12/82] CC src\fdlibm\src\e_acosh.obj
[13/82] CC src\fdlibm\src\s_lib_version.obj
[14/82] CC src\fdlibm\src\e_remainder.obj
[15/82] CC src\fdlibm\src\e_log.obj
[16/82] CC src\fdlibm\src\s_log1p.obj
[17/82] CC src\fdlibm\src\e_rem_pio2.obj
[18/82] CC src\fdlibm\src\s_ldexp.obj
FAILED: src/fdlibm/src/s_ldexp.obj
cl -nologo -showIncludes -IC:\Users\Nik\Desktop\graal\graal\substratevm\src\com.oracle.svm.native.strictmath\src\fdlibm\include -O1 -D_LITTLE_ENDIAN -c C:\Users\Nik\Desktop\graal\graal\substratevm\src\com.oracle.svm.native.strictmath\src\fdlibm\src\s_ldexp.c -Fosrc\fdlibm\src\s_ldexp.obj
C:\Users\Nik\Desktop\graal\graal\substratevm\src\com.oracle.svm.native.strictmath\src\fdlibm\src\s_ldexp.c(28): fatal error C1083: Cannot open include file: 'errno.h': No such file or directory
[19/82] CC src\fdlibm\src\e_jn.obj
ninja: build stopped: subcommand failed.

I will try to look further into it.

EDIT: The missing libraries issue can be fixed by adding windows environment variable "INCLUDE" with the paths to the missing libraries. In my case it was C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include. One should have already downloaded the packages required through Visual Studio Installer. Anyway, yet another issue has occurred:

Building com.oracle.svm.native.libchelper with Ninja... [no build manifest]
[1/4] CC src\cSunMiscSignal.obj
FAILED: src/cSunMiscSignal.obj
cl -nologo -showIncludes -IC:\Users\Nik\Desktop\graal\graal\substratevm\src\com.oracle.svm.native.libchelper\include -Zi -O2 -D_LITTLE_ENDIAN -c C:\Users\Nik\Desktop\graal\graal\substratevm\src\com.oracle.svm.native.libchelper\src\cSunMiscSignal.c -Fosrc\cSunMiscSignal.obj
C:\Users\Nik\Desktop\graal\graal\substratevm\src\com.oracle.svm.native.libchelper\src\cSunMiscSignal.c: fatal error C1041: cannot open program database 'C:\Users\Nik\Desktop\graal\graal\substratevm\mxbuild\windows-amd64\src\com.oracle.svm.native.libchelper\vc140.pdb'; if multiple CL.EXE write to the same .PDB file, please use /FS
[2/4] CC src\cpuid.obj
ninja: build stopped: subcommand failed.

Seems like windows does not like the multithreaded build with the current cl commands mx build uses. Funnily enough, running the build command again and hoping that the threads will not try to read the .pdb at the same time works as a temporary solution.

Apart from this multithreaded issue, after applying the proper windows environment variables, the build seems to be successful and native-image runs. I think this part of the missing environment variables should be included in the guide and the multithreaded issue must be resolved.

@olpaw

This comment has been minimized.

Copy link
Member

@olpaw olpaw commented Jan 31, 2019

@Nik-- at this point, building images on Windows is still unsupported and very much experimental.

That said, building simple hello word images should already work fine if you use the right combination of tools on your Windows machine. Most important you need to use a special version of the JDK that comes with static jdk libraries that are need for image building. You can get it from https://github.com/graalvm/openjdk8-jvmci-builder/releases.

Also you need to make sure you have Python 2.7, Git for Windows and Windows SDK for Windows 7. You have to use exactly this version of the SDK because that was also used to build the static jdk libs.

Once everything is installed make sure you have python and git on your PATH and JAVA_HOME is set to the location of the JDK mentioned above. Now open the Windows SDK 7.1 Command Prompt and run mx build from the graal/substratevm subdirectory. (Currently building will take much longer then on Linux/Darwin because mx building is still running sequentially on Windows.)

Upon completion you can use mx native-image just like you would on Linux or OSX.

@olpaw

This comment has been minimized.

Copy link
Member

@olpaw olpaw commented Jan 31, 2019

Regarding the installation of Windows SDK for Windows 7, use the SDKSetup.exe in the Setup subdirectory of the iso image. Using the setup.exe from the root directory causes problems (at least for some of us).

@Nik--

This comment has been minimized.

Copy link
Author

@Nik-- Nik-- commented Jan 31, 2019

I definitely used a different approach towards this process, thus getting all those errors on the way. Installing Windows SDK for Windows 7 was a bit tricky, but after that I've managed to build the svm and eventually the helloworld.exe without issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
2 participants
You can’t perform that action at this time.