Building frustration

Doug Simon doug.simon at
Sun Dec 27 11:13:34 UTC 2015

Hi Raffaello,

I want to second Stefan’s recommendation that you submit bug reports (to graal-dev at for any issues you run into while trying to build Graal/Truffle sources. Apart from Windows, the turn around time for addressing such issues is usually pretty quick. For instance, your feedback on the wiki instructions has already been incorporated (see below).

> On 27 Dec 2015, at 05:54, Stefan Marr <java at> wrote:
> Hi Raffaello:
>> On 26 Dec 2015, at 22:38, Raffaello Giulietti <raffaello.giulietti at> wrote:
>> thanks for your supporting words (fyi, Raffaella with the final "a" in
>> your reply is the female variant of my first name).
> Sorry. I’d like to blame OS X autocorrect for the typo, it just tried to do it again. Sorry.
>> I dislike Ubuntu for other reasons not related to Truffle/Graal.
>> However, I have to admit that, at least for the purpose of building
>> Truffle/Graal and for working on it, it was much smoother an experience
>> than with CentOS, Fedora and Oracle Linux, all of them I tried before.
>> Hence, I think I’ll stick with it.
> Strange, I would not expect much differences with those distributions either.
> Not sure what the counter part of build-essentials is, but it shouldn’t be much more than a C/C++ tool chain, and some development headers (see
> I was under the impression that some of us use Oracle Linux to work on Graal. Perhaps we could extend the instructions for those distributions. Do you remember any of the specific issues you ran into?
>> I still have two questions:
>> * The very last command on
>> does not work
>> for me, although the IGV starts without problems. The message reads:
>> Unrecognized option: -jvmci
>> (I've configured the "server" HotSpot VM during the build.) For the time
>> being I can live without the internals of Graal's IR, but one day I'd
>> like to have a look at it, just as user, not as developer.
> Yes, that’s expected behavior, I think.
> ’server’ means that the C2 compiler, i.e., the standard Hotspot top-tier compiler is used for the Java code.
> ‘jvmci’ means, the JVMCI compiler, which in our case is Graal, is going to be used as top-tier compiler for all Java code. So, if you built the ‘server’ VM, this specific example is not going to work. To dump the compiler graphs with the -G:Dump= option and then inspect them with IGV, the code needs to be compiled with Graal. So, an JVMCI build is necessary to inspect Java code compilation.


> However, if you run a Truffle-based language on top of a ’server’ build, you can still use the ‘-G:Dump=‘ option and IGV to see what get’s compiled, inlined, etc.

I’ve changed the instructions to use execution of a unit test instead as it will (should!) work no matter what default VM was configured.

>> * On there is still
>> a mention to the JDK 7. However, it seems to work even without it. What
>> is the current wisdom?
> I’d think there are some ‘internal concerns’ leaking. If I remember correctly, for JRuby+Truffle, we still try to be able to have everything working on a JDK 7, and that’s why those instructions include the version 7 setup.
> For a normal user, that’s not really necessary. I don’t have a JDK 7. (you get some warnings thought. See for instance the build log of That is expected.)

Stefan is (once again) right. We require that JRuby+Truffle to be able to run on JDK 7. However, it is indeed a somewhat internal concern and so I’ve removed documentation of that aspect from the wiki (all ‘internal’ developers are aware of the process anyway).


More information about the graal-dev mailing list