[mercury-users] Two unrelated problems.

Julien Fischer juliensf at csse.unimelb.edu.au
Thu Nov 25 02:25:01 AEDT 2010


On Wed, 24 Nov 2010, Michael Richter wrote:


> If I issue *mmc --make hello*, I get the behaviour I expect.  In a
> subdirectory called "Mercury" I get a tree full of files including generated
> C files, object files, a bewildering variety of interim files, etc.  If,
> however, I instead issue *mmc --erlang --make hello*, I get this:
> $ mmc --erlang --make hello
> Making Mercury/int3s/hello.int3
> Making Mercury/ints/hello.int
> Making Mercury/erls/hello.erl
> ** Error: file `Mercury/hrls/mercury__array.hrl' not found: file
> `mercury__array.hrl' not found
> Sure enough, if I look in *Mercury/hrls* there are no files at all.  It's an
> empty directory.  If I retry this with *mmc --java --make hello*, I instead
> get:
> $ mmc --java --make hello
> Making Mercury/int3s/hello.int3
> Making Mercury/ints/hello.int
> Making Mercury/javas/jmercury/hello.java
> Making Java class files
> Mercury/javas/jmercury/hello.java:45: package jmercury.runtime does not


It appears that the versions of the Mercury standard libraries for
Erlang and Java are not included in your installation.   If you list
the available library grades, are the grades "erlang" or "java" present?
You can do this using:

    mmc --output-libgrades

If this is a Mercury installation you built from the source
distribution, or are you using the winmercury
(http://code.google.com/p/winmercury/) distribution?
If the latter, then it does not currently include support for the
erlang or java grades; if the former you can enable them as per
the instructions in README.Java and README.Erlang.


> The second problem is less of one, but it's one I'd like to get solved at
> some point.  I'm trying to run Mercury from a USB stick so I can carry it
> with me and play with it in spare moments on whatever computer happens to be
> handy.  The USB stick is not always on the same drive letter, of course, so
> hard-coded paths are bad.  I've replaced hard-coded paths in all of the .bat
> files to use an environment variable (that I set) instead.  This has not
> worked.  In the process of trying to find the fast_asm.gc libraries the
> compiler chokes because it's looking for them on a specific drive letter.  I
> can't figure out where it's getting this path information from, however, so
> I can't actually change it like I did the .bat files.  Could someone
> knowledgeable of the Windows installation setup give me a clue on what I
> need to change to make Mercury USB stick-ready?

It's most likely getting it from a setting within the Mercury.config file.
This can be found at:


where <INSTALLDIR> is wherever the package was installed.

mercury-users mailing list
Post messages to:       mercury-users at csse.unimelb.edu.au
Administrative Queries: owner-mercury-users at csse.unimelb.edu.au
Subscriptions:          mercury-users-request at csse.unimelb.edu.au

More information about the users mailing list