-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow and document building on windows #70
Conversation
Note that I haven't had much success using the resulting cvise. I tried with the interestingness test: cl.exe /c test.cpp || exit 1 and the simple test.cpp: int dummy() {
return 1;
}
int main() {
return dummy();
} Result:
I would have expected replace-function-def-with-decl to succeed in a reduction, but somehow that didn't work. |
Thank you very much for the attempt and I'm willing to merge your pull request! |
You can invoke that manually with: |
Hm, are you sure it's really windows defender? |
No I'm not sure, that was just my first guess. There's a lot of background stuff in Windows that might be holding on to directory handles. I've only seen |
Well, what C-Vise does during reduction: it spawns multiple processes with interestingness test and waits for the first one to finish. Then other processes are canceled and the top-level working directory is removed. That means there can be still running processes that access the files. Such an approach works fine on Linux but may cause troubles on Windows. (Un)fortunately, I don't use Windows system, so can't debug that .. |
The problems with file deletion itself being asynchronous in Windows can be worked around in a number of ways. I guess cvise could catch the error and then retry deleting at a later point in time (e.g. after the next reduction step). |
Looking at the backtrace: Lines 31 to 36 in 2aa333e
It's strange that one can't unlink the temporary file. After the return from |
It's used by the same process. Mode |
Good point, I've just rewritten the code in the pass. Can you please test it now if it makes a progress? If so, I can rework other places.. |
Weirdly enough, now the file copy fails:
Maybe the |
Hmm, that's strange. It seems the |
Note that the copy was successful previously when you were using |
Even with the information in #17, building cvise on windows was quite difficult for me as I am unfamiliar with cmake.
This pull request documents the steps I used and fixes some build errors.