Skip to content
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

Windows x64 port #7

Open
sfiruch opened this issue Aug 20, 2020 · 15 comments
Open

Windows x64 port #7

sfiruch opened this issue Aug 20, 2020 · 15 comments
Labels
enhancement New feature or request

Comments

@sfiruch
Copy link

sfiruch commented Aug 20, 2020

Officially-provided windows binaries would be nice. In the meantime, I hacked together a port to Windows (and VC++), and released x64 binaries here:
https://github.com/deiruch/kissat/releases/

The port uses the same PAL as my CaDiCaL port. I replaced the VLAs by alloca, because VLAs are unfortunately still not supported by VC++. Additionally, I had to change some struct members from bool to unsigned to work around the annoying struct packing behavior of VC++.

@a1880
Copy link

a1880 commented Aug 20, 2020

Porting to Windows might be easier with gcc as compiler under Msys64/MinGW64 in this case. gcc allows for dynamic arrays. To get around bit-field packing problems in watch.h, I had to use the -mno-ms-bitfields compile flag. The resulting binary is about 8% faster than the VC++ binary, at least for my example.

@arminbiere
Copy link
Owner

It is unlikely that I will support binaries soon (particularly for MacOS / Windows) but I will have a look at the changes you did to make VC++ happy and see whether I can address those issues in a simple way.

@arminbiere arminbiere added the enhancement New feature or request label Aug 28, 2020
@benjaminbartsch
Copy link

benjaminbartsch commented Aug 28, 2022

@deiruch Thank you very much for the executable file, its the only one that worked. I tried to compile kissat and gimsatul myself using cygwin+gcc. It seemed to work but the tests failed.

Would you be so kind and try to compile https://github.com/arminbiere/gimsatul too?

@anhpham197
Copy link

@deiruch Can you please add a README file to guide how to use your Kissat version on Windows?

@sfiruch
Copy link
Author

sfiruch commented Mar 31, 2023

@deiruch Can you please add a README file to guide how to use your Kissat version on Windows?

There are no Windows-specific instructions. The Windows port works exactly the same way as the Linux version. If you have specific usage questions, I suggest you create new issues in this repo. If you have Windows-specific questions then you should create an issue in the repo of my Windows port.

@a1880
Copy link

a1880 commented Mar 31, 2023

Using the wsl2 environment of Windows, many Unix tools can be built without changes.

An overview of how to call Kissat can be found here.

@anhpham197
Copy link

Thanks @deiruch , I have some problems with your Windows version, could you please open add issues feature?

@sfiruch
Copy link
Author

sfiruch commented Mar 31, 2023

Thanks @deiruch , I have some problems with your Windows version, could you please open add issues feature?

Ha, stupid me! I only realized now that Issues were disabled in my fork. I enabled the feature. Feel free to create an issue describing the problem here: https://github.com/deiruch/kissat/issues

@anhpham197
Copy link

Thanks @deiruch , I have some problems with your Windows version, could you please open add issues feature?

Ha, stupid me! I only realized now that Issues were disabled in my fork. I enabled the feature. Feel free to create an issue describing the problem here: https://github.com/deiruch/kissat/issues

Dear @deiruch , I've opened a new issue on your repo. Hope to receive your ans!

@benjaminbartsch
Copy link

@sfiruch : May I ask you, if it would be possible of you to add the exe/dll file of the newest Version (4.0.0)? That would be really really nice.

@sfiruch
Copy link
Author

sfiruch commented Aug 5, 2024

@sfiruch : May I ask you, if it would be possible of you to add the exe/dll file of the newest Version (4.0.0)? That would be really really nice.

There you go: https://github.com/sfiruch/kissat/releases/tag/rel-4.0.0

@benjaminbartsch
Copy link

@sfiruch: Thank you sooo much!

@benjaminbartsch
Copy link

@sfiruch: The Windows-EXE seems to have a bug (at least in my Windows 10 Version) ... I will open an Issue.

@sfiruch
Copy link
Author

sfiruch commented Aug 6, 2024

@sfiruch: The Windows-EXE seems to have a bug (at least in my Windows 10 Version) ... I will open an Issue.

I think it'd make sense to discuss Windows-specific bugs in the repo of the fork. Also, can you test whether disabling shrinking helps?

@benjaminbartsch
Copy link

benjaminbartsch commented Aug 6, 2024

I opened an Issue in the fork.

But maybe this Information is relevant for further "ports" or other people trying to compile it themselves on windows:

Before crashing (on Windows) verbose shows:
grafik

And after using this
--congruence=false

The Windows port does not crash.

After some testing - this also works:
--congruencebinaries=false

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants