Everything is working now, thanks for the quick response! (I wasn't able to get vctip.exe to release its hold on the deps file by disabling telemetry. However, I deleted vctip.exe and, while probably a bad idea, it fixed the second issue).
On Wednesday, September 30, 2020 at 9:34:32 PM UTC-6 [email protected] wrote: > On Wed, Sep 30, 2020 at 12:31 AM [email protected] <[email protected]> > wrote: > >> 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. >> > > Thanks for the report! I installed VS2019 and the clang from there, and > was able to reproduce this. It looks like the temporary file logic changed > again, and now it uses the FILE_DELETE_ON_CLOSE flag in NtCreateFile(). I > also updated the default VS environment variables, so clang should pick up > the linker from MSVC by default if you aren't using lld. > > Can you try tup-v0.7.9-49-g715e4657.zip and see if it works for you? > > >> >> 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. >> > > I believe this is a separate problem. I've hit this before, and in my case > it was VCTIP.EXE that was holding the deps file open to do some telemetry > reporting. I'm not sure if there's anything tup can do in this case - it > would be nice if there was a way to tell visual studio to ignore those > files. > > You can disable this in Visual Studio under Help -> Send Feedback -> > Settings (see: > https://docs.microsoft.com/en-us/visualstudio/ide/visual-studio-experience-improvement-program?view=vs-2019). > > I'm not sure if you'd want to keep it on for other reasons, though. > > >> >> 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! >> > > Usually when debugging issues like this, I find it helpful to run tup > while ProcMon is running, and then filter on the filename that tup > complains about. You would still have to trace through the dllinject.c code > to find out how tup is handling the various system calls, but at least > you'd see exactly what Windows is seeing so you know why it thinks a file > is temporary, or was renamed/deleted, etc. > > -Mike > -- -- tup-users mailing list email: [email protected] unsubscribe: [email protected] options: http://groups.google.com/group/tup-users?hl=en --- You received this message because you are subscribed to the Google Groups "tup-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/tup-users/445d3d58-6d28-4c33-b83e-46db74185118n%40googlegroups.com.
