Issues building graal-jvmci-8 with Cygwin

Jorn Vernee jbvernee at xs4all.nl
Thu Nov 8 15:17:44 UTC 2018


Doug Simon schreef op 2018-11-08 16:00:
> 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.

Honestly, that's good to hear. I'd rather not have to use cygwin since 
it slows down things quite a lot in my experience.

>> 
>>    $ ./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?

Sorry, I think I wasn't clear. It looks like the folder had Linux style 
permissions on it after extracting with (cygwin) tar. This was confusing 
the Windows permission system (opening up the Windows permissions tool 
threw a warning about the permissions not being ordered correctly). So 
this 'permission denied' error seems to have been a side effect of using 
cygwin `tar` as an extraction tool, and not a problem on your side. I 
only mentioned it to document how I solved the problem, in case anybody 
else is/was trying to do the same.

>> 
>> 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.

That makes sense.

Jorn

> -Doug


More information about the graal-dev mailing list