Issues building graal-jvmci-8 with Cygwin

Doug Simon doug.simon at oracle.com
Thu Nov 8 15:00:13 UTC 2018


Hi Jorn,

> On 8 Nov 2018, at 15:28, Jorn Vernee <jbvernee at xs4all.nl> wrote:
> 
> Doug Simon schreef op 2018-11-08 12:18:
>>>> You can use the version of IGV included in the GraalVM EE downloads
>>>> available at
>>>> https://www.oracle.com/technetwork/oracle-labs/program-languages/downloads/index.html.
>>>> It's in bin/idealgraphvisualizer.
>>> I've downloaded the Windows GraalVM EE snapshot, but it does not include idealgraphvisualizer.
>>> I've tried running the one from the Linux version with cygwin, but that doesn't seem to work either. (throws some error about not being able to read a .clusters file)
>> @Svata: Should it be possible to somehow run the IGV bundled with
>> GraalVM EE for Linux on Windows? After all, it's all Java right?
> 
> I've tried again after extracting the archive with `tar`, since I was getting some warnings about symlinks while using `winrar`, and it seems that the extraction had failed.
> 
> Running again in cygwin I get:

I think you're going to have a hard time getting mx and GraalVM working under cygwin. Early on we semi-supported this environment and the mx code is still littered with cygwin handling code. However, in our experience, it introduces too many problems just like the one you mention below where Unix versions of things are picked up instead of Windows things.

> 
>    $ ./idealgraphvisualizer
>    /cygdrive/j/Projects/graalvm-ee-1.0.0-rc9/lib/visualizer/platform/lib/nbexec: WARNING: environment variable DISPLAY is not set
>    /cygdrive/j/Projects/graalvm-ee-1.0.0-rc9/lib/visualizer/platform/lib/nbexec: line 421: /cygdrive/j/Projects/graalvm-ee-1.0.0-rc9/bin/java: cannot execute binary file: Exec format error
> 
> It seems to be trying to use the bundled java executable, but I guess that is an ELF binary, so it can't run on Windows?
> 
> I also found an idealgraphvisualizer64.exe in the folder lib/visualizer/bin. I tried running this, but was getting a 'permission denied' error. I had to recursively reset the 'graalvm-ee-1.0.0-rc9' folder's permissions (I guess tar mucked them up).

@Danilo: Is that a GraalVM binary building issue or is it specific to IGV?

> 
> When running again in PowerShell I get:
> 
>    Error occurred during initialization of boot layer
>    java.lang.module.FindException: Module java.xml.bind not found
> 
> I'm using JDK 11 by default, which doesn't seem to have that module, but even after setting JAVA_HOME and PATH to JDK 10 (which does have the module) I'm still getting the same error. I'm not sure where it's picking up the JRE to use?

@Svata: How does IGV find a JDK? Can this be overridden on the IGV command line?

> It _does_ work if I move the jdk-11 folder from the default location, then it suddenly picks up my old installed JDK 8.
> 
> So I've gotten it to run and viewed some graphs with it as well :D I wonder why this executable is not bundled with the Windows GraalVM snapshot.

The Windows GraalVM is a slimmed down binary that does not include things like native-image and (apparently) IGV. It's current purpose is solely to allow users to run Java apps with Graal which is why it is separated from the other GraalVM binaries. Once SVM works on Windows, it will be come a "complete" binary.

-Doug


More information about the graal-dev mailing list