[MLton-user] can't build svn trunk from source

Matthew Fluet fluet at tti-c.org
Fri May 25 08:04:01 PDT 2007

> I'm trying to build the latest MLton from source (I'm hoping Unicode 
> support is available there -- is it?), 

There is some support for a 32bit WideChar structure, but little else.

 > thus far to no avail. I
> downloaded the binaries for Cygwin (are there any available that are 
> more recent than 20051202?), then got the svn sources, and ran make.
> Below are what appeared to be the relevant errors; I've snipped the rest 
> for brevity.

> make -C "mlyacc" docs
> Error: src/sources.cm 0.0.
>   File yacc.grm.sig does not exist.
> Error: src/sources.cm 0.0.
>   File yacc.grm.sml does not exist.
> Error: src/sources.cm 0.0.
>   File yacc.lex.sml does not exist.

These are benign; they are output we should suppress when deriving the 
files to be used as make dependencies.

>    Compile SML starting
>       pre codegen starting
>          parseAndElaborate starting
> Error: ..\lib\mlton\basic\vector.sml 10.29.
>   Variable type in structure disagrees with argument signature.
>     variable: unfoldi
>     structure: _ -> ['a t]
>     signature: _ -> ['a t * 'b]
>          parseAndElaborate raised in 2.09 + 2.05 (49% GC)
>       pre codegen raised in 2.09 + 2.05 (49% GC)
>    Compile SML raised in 2.09 + 2.05 (49% GC)
> MLton raised in 2.27 + 2.05 (47% GC)

Wesley noted that the problem is that when bootstrapping on Windows, we 
don't use stubs that make the MLton structure of an old compiler 
compatible with the new compiler.

We don't use the stubs because they attempt to use Posix fork for 
starting child processes, but fork is broken on Cygwin.

So, one generally has to modify the Basis Library implementation of the 
binary install to make it compatible with the new source compiler.

More information about the MLton-user mailing list