[mercury-users] [Fwd: mercury problems]

Fergus Henderson fjh at cs.mu.OZ.AU
Fri Jul 24 04:30:28 AEST 1998


On 23-Jul-1998, Joseph M. Dusio <dusioj at norand.com> wrote:
> 
> 	I've downloaded the latest version of CYG-WIN32 and 
> mercury-0_7_3-core.tgz.  I installed and tested cyg-win32 before
> running "sh configure" and "make".  However, I am not successful
> in completing the build.

Mercury has not yet been ported to gnu-win32 version b19 or b19.1.
It has only been ported to version b18.  Version b19 made some
changes which caused some compatibility problems.

> 	The object files are built, but the link seems to fail.
...
> ../scripts/ml: 421: Syntax error: end of file unexpected (expecting ";;")

That problem is fixed in our most recent development version.
The problem was caused by our accidental use of a non-portable shell script
construct; b19 uses `ash' instead of `bash', and `ash' does not handle the
construct the same was that `bash' does.  Thus a workaround is to use
`bash' instead of `ash' for your /bin/sh.

However, there is another problem that you will encounter after you fix
that -- the Boehm conservative garbage collector doesn't work on b19.
Unfortunately operating systems do not provide portable interfaces
to the functionality needed by conservative garbage collectors, and
the Boehm collector must therefore necessarily use some non-portable
constructs.  Apparently the version of GNU binutils included in b19
has changed some things that the Boehm collector relied on.

The fix for this is probably quite simple -- I think it just requires
changing the definition of the DATASTART and DATAEND macros in
boehm_gc/config.h.  However, I have not tried this.

-- 
Fergus Henderson <fjh at cs.mu.oz.au>  |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>  |  of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3        |     -- the last words of T. S. Garp.



More information about the users mailing list