Building on JDK9 EA build 144/Windows, try #1
Raffaello Giulietti
raffaello.giulietti at supsi.ch
Fri Nov 18 21:05:50 UTC 2016
Hi guys,
I guess few of you usually work on Windows.
Nevertheless, since starting with build 143 the JDK 9 EA release now
supports JVMCI, I decided to give some tries building a Truffle/Graal
environment on Windows 10 (64 bit).
***
If you feel this makes no sense at this stage of maturity of both JDK 9
and Graal, please let me know.
***
The reasoning is that by using JDK 9 with JVMCI, I can avoid the complex
and weakly documented procedure to build a JDK with JVMCI from scratch
on Windows. The hope is that building only Graal and Truffle, which
afaik are pure Java projects, is easier when targeting this platform.
So, along with JDK 9b144, I also installed Git
(https://git-scm.com/download/win) and Python 2.7
(https://www.python.org/downloads/release/python-2712/). Git for Windows
comes with a bash and some basic Unix commands.
Then, following the instruction for building Graal
(https://github.com/graalvm/graal-core), when it comes to the first
$mx.cmd build
I stumble across a first error about the impossibility of creating a
file that already exists (see the 1st trace below)
If I insist and immediately issue another
$mx.cmd build
I now stumble across Java related errors (2nd trace below).
I repeated this a couple of times taking care of removing the graal root
folder and starting from scratch with the building instructions.
If anybody could direct me on what I should look at in more details,
that would be a great help. I have no clues and, I confess, not much
willingness to delve into the scripts.
FYI, here's the java -version
java version "9-ea"
Java(TM) SE Runtime Environment (build 9-ea+144)
Java HotSpot(TM) 64-Bit Server VM (build 9-ea+144, mixed mode)
Sorry for the long and boring traces, but I can't decide what's
important to you and what's not.
Greetings
Raffaello
1st trace
---------
Compiling com.oracle.mxtool.compilerserver with javac...
[C:\Users\Raffaello\graal\mx\mxbuild\java\com.oracle.mxtoo
l.compilerserver\bin\com\oracle\mxtool\compilerserver\CompilerDaemon.class
does not exist]
warning: [options] bootstrap class path not set in conjunction with
-source 1.7
C:\Users\Raffaello\graal\mx\java\com.oracle.mxtool.compilerserver\src\com\oracle\mxtool\compilerserver\JavacDaemon.
java:31: warning: [deprecation] newInstance() in Class has been
deprecated
final Object receiver = javacMainClass.newInstance();
^
where T is a type-variable:
T extends Object declared in class Class
2 warnings
Compiling com.oracle.truffle.api with javac-daemon...
[C:\Users\Raffaello\graal\truffle\mxbuild\truffle\com.oracle.
truffle.api\bin\com\oracle\truffle\api\Assumption.class does not exist]
warning: [options] bootstrap class path not set in conjunction with
-source 1.7
C:\Users\Raffaello\graal\truffle\truffle\com.oracle.truffle.api\src\com\oracle\truffle\api\Truffle.java:68:
warning : [deprecation] newInstance() in Class has been deprecated
return (TruffleRuntime) runtimeClass.newInstance();
^
where T is a type-variable:
T extends Object declared in class Class
C:\Users\Raffaello\graal\truffle\truffle\com.oracle.truffle.api\src\com\oracle\truffle\api\nodes\GraphPrintVisitor.
java:565: warning: [deprecation] newInstance() in Class has been
deprecated
return customHandlerClass.newInstance();
^
where T is a type-variable:
T extends Object declared in class Class
3 warnings
Compiling com.oracle.truffle.api.dsl with javac-daemon... [dependency
com.oracle.truffle.api updated]
warning: [options] bootstrap class path not set in conjunction with
-source 1.7
1 warning
Compiling com.oracle.truffle.api.interop with javac-daemon...
[dependency com.oracle.truffle.api updated]
warning: [options] bootstrap class path not set in conjunction with
-source 1.7
C:\Users\Raffaello\graal\truffle\truffle\com.oracle.truffle.api.interop\src\com\oracle\truffle\api\interop\Message.
java:526: warning: [deprecation] newInstance() in Class has been
deprecated
return (Message) Class.forName(message, false,
l).newInstance();
^
where T is a type-variable:
T extends Object declared in class Class
2 warnings
Compiling com.oracle.truffle.api.instrumentation with javac-daemon...
[dependency com.oracle.truffle.api updated]
warning: [options] bootstrap class path not set in conjunction with
-source 1.7
C:\Users\Raffaello\graal\truffle\truffle\com.oracle.truffle.api.instrumentation\src\com\oracle\truffle\api\instrume
ntation\InstrumentationHandler.java:384: warning: [deprecation]
newInstance() in Class has been deprecated
wrapper = ((InstrumentableFactory<Node>)
factory.newInstance()).createWrapper(instrumentableNode, probe );
^
where T is a type-variable:
T extends Object declared in class Class
C:\Users\Raffaello\graal\truffle\truffle\com.oracle.truffle.api.instrumentation\src\com\oracle\truffle\api\instrume
ntation\InstrumentationHandler.java:759: warning: [deprecation]
newInstance() in Class has been deprecated
this.instrument = (TruffleInstrument)
instrumentClass.newInstance();
^
where T is a type-variable:
T extends Object declared in class Class
3 warnings
Compiling com.oracle.truffle.dsl.processor with javac-daemon...
[dependency com.oracle.truffle.api.dsl updated]
warning: [options] bootstrap class path not set in conjunction with
-source 1.7
1 warning
Compiling com.oracle.truffle.api.object with javac-daemon... [dependency
com.oracle.truffle.api.interop updated]
warning: [options] bootstrap class path not set in conjunction with
-source 1.7
C:\Users\Raffaello\graal\truffle\truffle\com.oracle.truffle.api.object\src\com\oracle\truffle\api\object\Layout.jav
a:142: warning: [deprecation] newInstance() in Class has been
deprecated
bestLayoutFactory = (LayoutFactory) clazz.newInstance();
^
where T is a type-variable:
T extends Object declared in class Class
2 warnings
Compiling com.oracle.truffle.api.object.dsl with javac-daemon...
[dependency com.oracle.truffle.api.object updated]
warning: [options] bootstrap class path not set in conjunction with
-source 1.7
1 warning
Compiling com.oracle.truffle.object.dsl.processor with javac-daemon...
[dependency com.oracle.truffle.api.object.ds l updated]
warning: [options] bootstrap class path not set in conjunction with
-source 1.7
1 warning
Archiving TRUFFLE_DSL_PROCESSOR_INTERNAL... [dependency
com.oracle.truffle.dsl.processor updated]
C:/Users/Raffaello/graal/mx/mx.py:1058: UserWarning: Duplicate name:
'META-INF/services/javax.annotation.processing .Processor'
arc.zf.writestr(arcname, contents)
C:/Users/Raffaello/graal/mx/mx.py:6654: UserWarning: Duplicate name:
'META-INF/services/javax.annotation.processing .Processor'
arc.zf.writestr(arcname, '\n'.join(dist.definedAnnotationProcessors) +
'\n')
Traceback (most recent call last):
File "C:/Users/Raffaello/graal/mx/mx.py", line 14468, in <module>
main()
File "C:/Users/Raffaello/graal/mx/mx.py", line 14452, in main
retcode = c(command_args)
File "C:/Users/Raffaello/graal/mx/mx.py", line 9577, in build
t.execute()
File "C:/Users/Raffaello/graal/mx/mx.py", line 669, in execute
self.build()
File "C:/Users/Raffaello/graal/mx/mx.py", line 1212, in build
self.subject.make_archive()
File "C:/Users/Raffaello/graal/mx/mx.py", line 1161, in make_archive
self.notify_updated()
File "C:/Users/Raffaello/graal/mx/mx.py", line 783, in notify_updated
l(self)
File "C:/Users/Raffaello/graal/mx/mx.py", line 6656, in
_refineAnnotationProcessorServiceConfig
arc.zf.writestr(arcname, lp.read(arcname))
File "C:/Users/Raffaello/graal/mx/mx.py", line 9976, in __exit__
SafeFileCreation.__exit__(self, exc_type, exc_value, traceback)
File "C:/Users/Raffaello/graal/mx/mx.py", line 9949, in __exit__
os.rename(self.tmpPath, self.path)
WindowsError: [Error 183] Cannot create a file when that file already exists
java.net.SocketException: Connection reset
at
java.base/java.net.SocketInputStream.read(SocketInputStream.java:209)
at
java.base/java.net.SocketInputStream.read(SocketInputStream.java:141)
at
java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
at
java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
at
java.base/java.io.InputStreamReader.read(InputStreamReader.java:185)
at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
at
java.base/java.io.BufferedReader.readLine(BufferedReader.java:325)
at
java.base/java.io.BufferedReader.readLine(BufferedReader.java:390)
at
com.oracle.mxtool.compilerserver.CompilerDaemon$Connection.run(CompilerDaemon.java:133)
at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514)
at
java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1161)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:844)
2nd trace
---------
Compiling com.oracle.truffle.api.interop.java with javac-daemon...
[C:\Users\Raffaello\graal\truffle\mxbuild\truffle\com.oracle.truffle.api.interop.java\bin\com\oracle\truffle\api\interop\java\ArrayWriteNode.class
does not exist]
warning: [options] bootstrap class path not set in conjunction with
-source 1.7
C:\Users\Raffaello\graal\truffle\truffle\com.oracle.truffle.api.interop.java\src\com\oracle\truffle\api\interop\java\JavaObject.java:44:
error: cannot find symbol
return JavaObjectMessageResolutionForeign.createAccess();
^
symbol: variable JavaObjectMessageResolutionForeign
location: class JavaObject
C:\Users\Raffaello\graal\truffle\truffle\com.oracle.truffle.api.interop.java\src\com\oracle\truffle\api\interop\java\JavaFunctionMessageResolution.java:62:
error: cannot find symbol
this.toJava[i] = ToJavaNodeGen.create();
^
symbol: variable ToJavaNodeGen
location: class DoExecuteNode
C:\Users\Raffaello\graal\truffle\truffle\com.oracle.truffle.api.interop.java\src\com\oracle\truffle\api\interop\java\JavaFunctionObject.java:47:
error: cannot find symbol
return JavaFunctionMessageResolutionForeign.createAccess();
^
symbol: variable JavaFunctionMessageResolutionForeign
location: class JavaFunctionObject
C:\Users\Raffaello\graal\truffle\truffle\com.oracle.truffle.api.interop.java\src\com\oracle\truffle\api\interop\java\JavaInterop.java:151:
error: cannot find symbol
RootNode root = new TemporaryConvertRoot(TruffleLanguage.class,
ToJavaNodeGen.create(), foreignObject, type);
^
symbol: variable ToJavaNodeGen
location: class JavaInterop
C:\Users\Raffaello\graal\truffle\truffle\com.oracle.truffle.api.interop.java\src\com\oracle\truffle\api\interop\java\JavaInterop.java:257:
error: cannot find symbol
RootNode root = new TemporaryConvertRoot(TruffleLanguage.class,
ToJavaNodeGen.create(), function, functionalType);
^
symbol: variable ToJavaNodeGen
location: class JavaInterop
C:\Users\Raffaello\graal\truffle\truffle\com.oracle.truffle.api.interop.java\src\com\oracle\truffle\api\interop\java\JavaObjectMessageResolution.java:177:
error: cannot find symbol
@Child private ArrayReadNode read = ArrayReadNodeGen.create();
^
symbol: variable ArrayReadNodeGen
location: class ReadFieldNode
C:\Users\Raffaello\graal\truffle\truffle\com.oracle.truffle.api.interop.java\src\com\oracle\truffle\api\interop\java\JavaObjectMessageResolution.java:222:
error: cannot find symbol
@Child private ToJavaNode toJava = ToJavaNodeGen.create();
^
symbol: variable ToJavaNodeGen
location: class WriteFieldNode
C:\Users\Raffaello\graal\truffle\truffle\com.oracle.truffle.api.interop.java\src\com\oracle\truffle\api\interop\java\JavaObjectMessageResolution.java:250:
error: cannot find symbol
@Child private ArrayWriteNode write = ArrayWriteNodeGen.create();
^
symbol: variable ArrayWriteNodeGen
location: class WriteFieldNode
8 errors
1 warning
More information about the graal-dev
mailing list