[mercury-users] Weird and annoying showstopper building Mercury 11.07.1

Julien Fischer juliensf at csse.unimelb.edu.au
Tue Jul 31 23:01:39 AEST 2012


Hi,

On Tue, 31 Jul 2012, Michael Richter wrote:

> ./configure --enable-java --enable-erlang && make && sudo make install
>
> This terminates with:
>
> mmc --generate-dependencies --grade asm_fast.gc.debug
> --mercury-linkage shared --flags LIB_FLAGS   --flags INTER_FLAGS
> --no-warn-nothing-exported --no-warn-unused-imports   mer_std
> mercury_compile: `--host-env-type posix` is incompatible with
>  `--csharp-compiler-type microsoft'.
> Mercury Compiler, version 11.07.1, configured for x86_64-unknown-linux-gnu
> Copyright (C) 1993-2012 The University of Melbourne
> Usage: mmc [<options>] <arguments>
> Use `mmc --help' for more information.
> make[2]: *** [mer_std.depend] Error 1
> make[2]: Leaving directory
> `/home/michael/Development/Mercury/mercury-compiler-11.07.1/install_grade_dir.asm_fast.gc.debug/library'
> To clean up from failed install, remove
> /home/michael/Development/Mercury/mercury-compiler-11.07.1/install_grade_dir.asm_fast.gc.debug
> make[1]: *** [install_grades] Error 1
> make[1]: Leaving directory
> `/home/michael/Development/Mercury/mercury-compiler-11.07.1'
> make: *** [install] Error 2
>
> This is all stuff which has been built on this very machine before, so
> something I've installed since then has confused the configure script into
> thinking I have the Microsoft C# compiler.  A few questions, though:
>
> 1. Why is --csharp-compiler-type microsoft being issued *at all* given that
> I didn't --enable-csharp-grade nor --enable-dotnet-grade?

The test does not depend on them.  The problem is likely being caused by
another executable named "csc" on your system (possibly the Chicken Scheme
compiler).

> 2. How is configure managing to think I have the Microsoft C# compiler on a
> POSIX system?

(Probably) because the test in for the presence of a C# compiler was just 
looking at the executable name and its found an executable named csc?
(The test has subsequently been strengthened.)

> (As in, why is configure even *LOOKING* for the Microsoft
> compiler on a POSIX system?)

The Microsoft C# compiler is usable under Cygwin and for most purposes
it is a POSIX system.

> 3. How do I fix this?

You need to change the value of --csharp-compiler-type option in the 
Mercury.config file from "microsoft" to either "unknown" or "mono"
(either should do).

In an installed system this file will reside in:

    <install-prefix>/lib/mercury/conf/Mercury.config

In the source tree, this file lives in the scripts directory -- edit
its value after configuring.

> #3 is the most important part because I'm absolutely show-stopped right
> now.  In a fit of stupidity I accidentally installed this over top of a
> working Mercury installation and now I have a completely broken setup.
> Zapping the whole /usr/local/mercury* thing isn't fixing it.

It should be fixable as I have outlined above.  The original problem, i.e.
misidentifying the MS C# compiler, has been fixed in the 11.07.2 betas and
on the trunk.

Julien.


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