Hello, I'm still having some issues with tup getting confused about clang's temporary files on windows, even after some of the recent fixes.
My main.c file contains:
int main (int argc, char** argv) {
return 0;
}
My Tupfile is:
: main.c |> clang -o %o %f |> main.exe
And the error from tup is:
* 0) clang -o main.exe main.c
*** tup messages ***
tup error: File 'C:/Users/user/AppData/Local/Temp/main-6d5eec.o' was written to, but is not in .tup/db. You probably should specify it as an output
-- Delete: C:/Users/user/AppData/Local/Temp/main-6d5eec.o
tup error: File 'C:/Users/user/AppData/Local/Temp/lnk{969DF542-7485-45FD-A867-3DA38C84A200}.tmp' was written to, but is not in .tup/db. You probably should specify it as an output
-- Delete: C:/Users/user/AppData/Local/Temp/lnk{969DF542-7485-45FD-A867-3DA38C84A200}.tmp
*** Command failed due to errors processing the output dependencies.
[ ] 100%
*** tup: 1 job failed.
Also, if I run tup twice in quick succession for this project, I get the following:
deps-31: Permission denied
tup error: Unable to clean out a file in .tup/tmp directory. Please try cleaning this directory manually. Note there may be a stuck sub-process that still has the file open (check the Task Manager).
I don't know if this is just a side effect of the previous issue or if it's a separate problem.
tup version:
tup v0.7.9-43-gf2f02bba
clang version:
clang version 10.0.0
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\Program Files\LLVM\bin
I've tried to reconcile LLVM's temporary file code with the system call tracking that tup is doing, but so far I haven't been able to get anywhere. I would appreciate any help on the issue, thanks!