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.

Reply via email to