[m-users.] Compiling Mercury 14.01 on 64 bit Cygwin?

Julien Fischer jfischer at opturion.com
Sun Aug 10 15:59:41 AEST 2014

Hi Peter,

On Sat, 9 Aug 2014, Peter C. Chapin wrote:

> I'm trying to compile Mercury from source in my 64 bit Cygwin
> environment running on Windows 7. I ran configure without any options
> but when I start the build I rather quickly get this:
> /usr/local/src/mercury-srcdist-14.01/boehm_gc/../scripts/mgnuc --grade
> hlc.gc.pregen --no-ansi --no-check --no-mercury-stdlib-dir -I./include
> -I./libatomic_ops-install/include -DNO_EXECUTE_PERMISSION
> -DLARGE_CONFIG     -DNO_DEBUGGING   -c -o alloc.o alloc.c
> In file included from ./include/private/gc_priv.h:94:0,
>                 from alloc.c:18:
> ./include/private/gcconfig.h:1096:7: error: #error This should be
> handled as X86_64
> #     error This should be handled as X86_64
>       ^
> ./include/private/gcconfig.h:2416:3: error: #error --> undefined ALIGNMENT
> # error --> undefined ALIGNMENT
>   ^
> <builtin>: recipe for target 'alloc.o' failed
> make[3]: *** [alloc.o] Error 1
> I'm guessing my problem is that I'm using the 64 bit Cygwin environment
> rather than the 32 bit environment. Is there a straightforward way to
> compile Mercury successfully on this platform or is it just unsupported?
> My gcc version is 4.8.3.

The issue is that the version of the Boehm GC that ships with Mercury
14.01 does not support 64 bit Cygwin.  This has been fixed in upstream
Boehm GC, so we will add support for 64 bit Cygwin after we next upgrade
the Boehm GC.  (I think there may need to be some other minor changes
required to support 64 bit Cygwin as well.)

Note that Mercury 14.01 does work with MinGW64 which should be usable
from within Cygwin, so that may be an alternative in the meantime.


More information about the users mailing list