[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