[MLton] MLton.TextIO.mkstemps

Matthew Fluet fluet at cs.cornell.edu
Tue Nov 28 17:01:03 PST 2006


MLton.TextIO.mkstemps doesn't appear to be working well on x86-darwin; I 
haven't tested x86-linux.  In particular, it seems to be failing in 
exactly the situation it is trying to protect.  I was running two 
executions of 'make all' in parallel on the same machine.  They were 
started at just about the same time and were compiling the 'make tools' 
target at the same time and I found them failed, both with 'call to system 
failed' errors where the invocation of gcc was failing with 
different errors but the *same* /tmp/fileZZZZ.NN.c file:

Compiling mlnlffigen
mlton -target self -default-ann 'sequenceNonUnit warn' mlnlffigen.mlb
i686-apple-darwin8-gcc-4.0.1: /tmp/file6snPhX.15.c: No such file or directory
i686-apple-darwin8-gcc-4.0.1: no input files
call to system failed with exit status 1:
gcc -std=gnu99 -c -I/Users/fluet/devel/mlton/mlton.svn.x86_64.COMPILE_FAST/build/lib/self\
/include -I/Users/fluet/devel/mlton/mlton.svn.x86_64.COMPILE_FAST/build/lib/include -O1 -\
fno-strict-aliasing -fomit-frame-pointer -w -I/opt/local/include -I/sw/include -fno-stren\
gth-reduce -fschedule-insns -fschedule-insns2 -malign-functions=5 -malign-jumps=2 -malign\
-loops=2 -o /tmp/fileQqO5Ck.o /tmp/file6snPhX.15.c
make[3]: *** [mlnlffigen] Error 1
make[2]: *** [tools] Error 2


Compiling mlnlffigen
mlton -target self -default-ann 'sequenceNonUnit warn' mlnlffigen.mlb
/tmp/file6snPhX.15.c:6440:1: error: unterminated argument list invoking macro "Vector"
/tmp/file6snPhX.15.c:595: error: 'Vector' undeclared here (not in a function)
/tmp/file6snPhX.15.c:595: error: parse error at end of input
call to system failed with exit status 1:
gcc -std=gnu99 -c -I/Users/fluet/devel/mlton/mlton.svn.x86_64/build/lib/self/include -I/U\
sers/fluet/devel/mlton/mlton.svn.x86_64/build/lib/include -O1 -fno-strict-aliasing -fomit\
-frame-pointer -w -I/opt/local/include -I/sw/include -fno-strength-reduce -fschedule-insn\
s -fschedule-insns2 -malign-functions=5 -malign-jumps=2 -malign-loops=2 -o /tmp/fileQqO5C\
k.o /tmp/file6snPhX.15.c
make[3]: *** [mlnlffigen] Error 1

Looks to me like both invocations of mlton ended up accessing the same 
file.




More information about the MLton mailing list