[m-users.] Java grade missing!!?!?

Julian Fondren jfondren at minimaltype.com
Wed Jul 31 20:25:10 AEST 2019


On 2019-07-31 05:13, emacstheviking wrote:
> I have a github build running:
> 
> Mercury Compiler, version DEV, on x86_64-pc-linux-gnu
> Copyright (C) 1993-2012 The University of Melbourne
> Copyright (C) 2013-2019 The Mercury team
> Usage: mmc [<options>] <arguments>
> Use `mmc --help' for more information.
> 
> mmc --make --target java gives me:
> USE OF BOEHM GC IS INCOMPATIBLE WITH TARGET LANGUAGE JAVA
> 
> but using
> MMC --MAKE --GRADE JAVA J1
> I get:
> 
> Making Java class files
> Mercury/javas/jmercury/j1.java:51: error: package jmercury.runtime
> does not exist
>     jmercury.runtime.JavaInternal.progname = "j1";
>                     ^
> Mercury/javas/jmercury/j1.java:52: error: package jmercury.runtime
> does not exist
>     jmercury.runtime.JavaInternal.args = args;
>                     ^
> Mercury/javas/jmercury/j1.java:53: error: package jmercury.runtime
> does not exist
>     jmercury.runtime.JavaInternal.exit_status = 0;
>                     ^
> Mercury/javas/jmercury/j1.java:54: error: cannot find symbol
>     library.ML_std_library_init();
>     ^
>   symbol:   variable library
>   location: class j1
> Mercury/javas/jmercury/j1.java:55: error: cannot find symbol
> ... error log truncated, see `j1.err' for the complete log.
> 
> So I don't know if I have not got the Java grade or there is some
> other issue. The man page doesn't seem to mention a "list all the
> available grades". I just git pulled the latest from the repo so I am
> ready to build again and I would like to have:
>   - hlc
>   - erlang
>   - java
>   - c#
> 
> My configuration incantation the last time I built was:
> ./configure
> --enable-libgrades=hlc.gc,none.gc.stseg,none.gc.debug.stseg

You can find out what grades you have now with

   mmc --output-libgrades

You can reuse your build directory to install additional grades with

   make LIBGRADES=any,new,grades install

And for the non-C grades you just need the name of the language.

So:

   make LIBGRADES=java,erlang,csharp install

The problem with your first command is likely that your default
grade uses BoehmGC and flags like --target try to narrowly change
the default grade rather than look for any matching grade.

A system for more orthogonal options that are actually available.

> I am not sure what options to pass for erlang, java and c# as they
> probably don't use the Boehm GC either...
> 
> TIA,
> Sean.
> _______________________________________________
> users mailing list
> users at lists.mercurylang.org
> https://lists.mercurylang.org/listinfo/users


More information about the users mailing list