[mercury-users] Build error in cygwin

Julien Fischer juliensf at csse.unimelb.edu.au
Fri Jun 10 03:54:23 AEST 2011

On Thu, 9 Jun 2011, Jeff Thompson wrote:

> On 6/9/2011 6:03 AM, Julien Fischer wrote:
>> On Thu, 9 Jun 2011, Jeff Thompson wrote:
>>> Hello.  I'm trying to compile Mercury version 11.01 in cygwin inside 
>>> Windows XP.  ./configure and make succeed.  When I enter:
>>> make install LIBGRADES=csharp
>>> I get the error:
>>> cygwin warning:
>>>  MS-DOS style path detected: ..\runtime\mercury_dotnet.cs
>>>  Preferred POSIX equivalent is: ../runtime/mercury_dotnet.cs
>>> Making mer_std.dll
>>> ** Error making `mer_std.dll'.
>>> error CS2001: Source file `..runtimemercur
>>> dotnet.cs' could not be found
>>> I can't find the makefile that is using \ instead of /.
>> It is library/Mmakefile:378, specifically these line:
>>    # Don't use Unix style paths with the Microsoft C# compiler.
>>    ifeq ($(CSC),csc)
>>    MLOBJS += ..\runtime\mercury_dotnet.cs
>>    else
>>    MLOBJS += ../runtime/mercury_dotnet.cs
>> The above is a workaround for the fact that --link-object does not yet
>> do any path conversion.
> Thanks!  That worked. I set both lines to:
> MLOBJS += ../runtime/mercury_dotnet.cs
> cygwin uses the Mono compiler. Perhaps Mono doesn't have a problem with Unix 
> style paths?

I don't think that's the problem here; the DOS style path definition of
MLOBJS should only be used if the Microsoft C# compiler is being used
(unless the Mono C# compiler is also called "csc" on Cygwin), i.e.  the
correct definition of MLOBJS should have been selected anyway if Mono
was being used.

I've entered this as bug #200 in the bugtracker and will add any
further information about it there.

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