Issues building graal-jvmci-8 with Cygwin

Doug Simon doug.simon at oracle.com
Thu Nov 8 10:53:40 UTC 2018


Hi Jp,

> On 8 Nov 2018, at 06:36, Halimi, Jean-Philippe <jean-philippe.halimi at intel.com> wrote:
> 
> Hi Doug,
> 
> Thanks for the info, my assumption was that the support was only partial at this point. You are mentioning that you have not come across any serious issues. I am sorry to follow-up, but it looks like I still have trouble finding the proper way to build on Windows. :-)
> 
> Namely, I understand that I can use the binaries you pointed me to, however which environment do you use to use the mx build command?

I have yet to get this working at all in my Windows environment. I cannot build JVMCI JDK due to problems trying to install Windows SDK 7.1 and I run into mx issues trying to build Graal. For example:

Downloading https://repo1.maven.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-sources.jar to C:\Users\dsimon\.mx\cache\HAMCREST_1dc37250fbc78e23a65a67fbbaf71d2e9cbc3c0b\hamcrest.sources.jar
 32624 bytes (100%)
Traceback (most recent call last):
  File "\\Mac\Home\mx\mx.py", line 18816, in <module>
    main()
  File "\\Mac\Home\mx\mx.py", line 18797, in main
    retcode = c(command_args)
  File "\\Mac\Home\mx\mx_commands.py", line 132, in __call__
    return self.command_function(*args, **kwargs)
  File "C:\Users\dsimon\graal\graal\compiler\mx.compiler\mx_compiler.py", line 1165, in build
    _original_build(_no_native('Building') + cmd_args, parser)
  File "\\Mac\Home\mx\mx_commands.py", line 132, in __call__
    return self.command_function(*args, **kwargs)
  File "\\Mac\Home\mx\mx.py", line 12615, in build
    t.execute()
  File "\\Mac\Home\mx\mx.py", line 894, in execute
    self.build()
  File "\\Mac\Home\mx\mx.py", line 5111, in build
    self.subject.get_source_path(resolve=True)
  File "\\Mac\Home\mx\mx.py", line 5061, in get_source_path
    return download_file_with_sha1(self.name, path, sourceUrls, self.sourceSha1, sha1path, resolve, len(self.sourceUrls) != 0, sources=True)
  File "\\Mac\Home\mx\mx.py", line 4548, in download_file_with_sha1
    download(cachePath, urls)
  File "\\Mac\Home\mx\mx.py", line 12276, in download
    res = _attempt_download(url, path, jarEntryName)
  File "\\Mac\Home\mx\mx.py", line 12226, in _attempt_download
    return True
  File "\\Mac\Home\mx\mx.py", line 13055, in __exit__
    _handle_file(self.tmpPath, self.path)
  File "\\Mac\Home\mx\mx.py", line 13054, in _handle_file
    os.rename(tmpPath, path)
WindowsError: [Error 183] Cannot create a file when that file already exists
java.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(SocketInputStream.java:210)
        at java.net.SocketInputStream.read(SocketInputStream.java:141)
        at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
        at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
        at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
        at java.io.InputStreamReader.read(InputStreamReader.java:184)
        at java.io.BufferedReader.fill(BufferedReader.java:161)
        at java.io.BufferedReader.readLine(BufferedReader.java:324)
        at java.io.BufferedReader.readLine(BufferedReader.java:389)
        at com.oracle.mxtool.compilerserver.CompilerDaemon$Connection.run(CompilerDaemon.java:137)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

I'm sure all of these issues can be solved fairly quickly if someone has time to go through them. I will try and find spare cycles but can't guarantee it will be anytime soon. Any contributions the community can make would be most welcome.

@Alex: Any idea why the specific issue above doesn't show up on the CI machines used to build and test Graal on Windows?

-Doug

> 
> Thanks for your help,
> Jp
> 
> -----Original Message-----
> From: Doug Simon [mailto:doug.simon at oracle.com] 
> Sent: Wednesday, November 7, 2018 12:56 PM
> To: Halimi, Jean-Philippe <jean-philippe.halimi at intel.com>
> Cc: graal-dev at openjdk.java.net; Aleksandar Pejovic <aleksandar.pejovic at oracle.com>
> Subject: Re: Issues building graal-jvmci-8 with Cygwin
> 
> Hi Jp,
> 
> Even though we only do light testing of Graal on Windows, we haven't come across any serious issues compared to other platforms.
> 
> One thing that would be interesting is to get Travis testing[1] to work with the new Windows support on Travis[2]. Apart from changes to .travis.yml, I suspect most of the effort will be fixing the parts of mx that are broken on Windows (I don't have a list of these issues but I know they exist!).
> 
> -Doug
> 
> [1] https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_oracle_graal_blob_master_.travis.yml&d=DwIGaQ&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=BmNY5KuefACTr_P43s8fXOXgNDkDiqlviyafeiVaP18&m=q8uY3mvcytSGOLO0q_TcoDK8RbAB0h_nEvQrd_l9Cto&s=_01PA1nROhMEhxnlsWLeXgm3otKrpGbB8TCSNY-XhHg&e=
> [2] https://urldefense.proofpoint.com/v2/url?u=https-3A__blog.travis-2Dci.com_2018-2D10-2D11-2Dwindows-2Dearly-2Drelease&d=DwIGaQ&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=BmNY5KuefACTr_P43s8fXOXgNDkDiqlviyafeiVaP18&m=q8uY3mvcytSGOLO0q_TcoDK8RbAB0h_nEvQrd_l9Cto&s=4sDPVh7HtqqAkcnTHs0TVPMxOklAeyZB1tCUQnb5ob0&e=
> 
>> On 7 Nov 2018, at 21:38, Halimi, Jean-Philippe <jean-philippe.halimi at intel.com> wrote:
>> 
>> Hi Doug,
>> 
>> As a follow-up on this, do we know what needs to be done to enable Graal on Windows?
>> Are there a set of bugs that we could help with?
>> 
>> Thanks,
>> Jp
>> 
>> -----Original Message-----
>> From: Doug Simon [mailto:doug.simon at oracle.com]
>> Sent: Monday, November 5, 2018 8:31 AM
>> To: Halimi, Jean-Philippe <jean-philippe.halimi at intel.com>
>> Cc: graal-dev at openjdk.java.net; Aleksandar Pejovic 
>> <aleksandar.pejovic at oracle.com>
>> Subject: Re: Issues building graal-jvmci-8 with Cygwin
>> 
>> Hi Jp,
>> 
>>> On 5 Nov 2018, at 17:15, Halimi, Jean-Philippe <jean-philippe.halimi at intel.com> wrote:
>>> 
>>> Hi Doug,
>>> 
>>> Thanks for the insights. I was following the README, but I ended up using the binaries that you pointed as well.
>>> Should the README point users in this direction moving forward as a fallback?
>> 
>> Good suggestion. We will do that.
>> 
>> -Doug
>> 
>>> -----Original Message-----
>>> From: Doug Simon [mailto:doug.simon at oracle.com]
>>> Sent: Monday, November 5, 2018 1:21 AM
>>> To: Halimi, Jean-Philippe <jean-philippe.halimi at intel.com>
>>> Cc: graal-dev at openjdk.java.net; Aleksandar Pejović 
>>> <aleksandar.pejovic at oracle.com>
>>> Subject: Re: Issues building graal-jvmci-8 with Cygwin
>>> 
>>> Hi Jp,
>>> 
>>> As you are experiencing, Windows support is not as strong as for 
>>> other platforms. Do you really need to build JVMCI on Windows or can 
>>> you use the Windows binary available at 
>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_graal
>>> v 
>>> m_openjdk8-2Djvmci-2Dbuilder_releases_tag_jvmci-2D0.49-3F&d=DwIFBA&c=
>>> R 
>>> oP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=BmNY5KuefACTr_P43s8fXOXg
>>> N 
>>> DkDiqlviyafeiVaP18&m=kanZiJIVRvZMpc1cdZlqu_1IF-0ep3UZrPFyxBWR9kA&s=RK
>>> V NtG0BSeIB-s0gct7KKvLWTAuV00THcV6XjxzHEXE&e=
>>> 
>>> If you need to build on Windows, I don't think a cygwin environment works any more. You also need Windows SDK v7.1 installed in the default location. More instructions are at https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_oracle_graal_tree_master_compiler-23windows-2Dspecifics-2D1&d=DwIFBA&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=BmNY5KuefACTr_P43s8fXOXgNDkDiqlviyafeiVaP18&m=kanZiJIVRvZMpc1cdZlqu_1IF-0ep3UZrPFyxBWR9kA&s=OlerJUV61GAN08Sh1pf6Sp9Y8_V8DZroeLXzGvgFK0s&e=.
>>> 
>>> -Doug
>>> 
>>>> On 5 Nov 2018, at 05:59, Halimi, Jean-Philippe <jean-philippe.halimi at intel.com> wrote:
>>>> 
>>>> Hi,
>>>> 
>>>> I am running into building issues for Graal-JVMCI-8 on Windows. I run the following command:
>>>> 
>>>> mx --java-home /cygdrive/c/Program\ Files/Java/jdk1.8.0_191/ build
>>>> 
>>>> WARNING: No platform-specific definition is available for 
>>>> distribution JVM_PRODUCT_SERVER for your OS (cygwin)
>>>> JAVA_HOME: /cygdrive/c/Program Files/Java/jdk1.8.0_191/
>>>> EXTRA_JAVA_HOMES: /home/jhalimi/java/jdk-11 Building 
>>>> HotSpot[product, server]...
>>>> [/home/jhalimi/Programming/graal/graal-jvmci-8/build/cygwin/cygwin_a
>>>> m d 64_compiler2/generated/jvmtifiles/jvmti.h[does not exist] does 
>>>> not exist] Could not find Windows SDK : 'C:\Program Files\Microsoft 
>>>> SDKs\Windows\v7.1\' does not exist Building HotSpot[product, server] 
>>>> failed
>>>> 1 build tasks failed
>>>> 
>>>> Can it be related to the first warning message?
>>>> 
>>>> Has anybody ran into this problem before?
>>>> 
>>>> Thanks,
>>>> Jp
>>> 
>> 
> 



More information about the graal-dev mailing list