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

Make binaries available for common platforms #33

Open
danielleberre opened this issue Feb 8, 2023 · 11 comments
Open

Make binaries available for common platforms #33

danielleberre opened this issue Feb 8, 2023 · 11 comments
Labels
enhancement New feature or request

Comments

@danielleberre
Copy link

In addition to source code, provide pre-compiled binaries for common platform (windows, macOS, linux) to allow students or researchers to simply download them to give a try to kissat.

If compiling kissat is easy for any computer scientist, when giving a tutorial about SAT, one would prefer to allow the audience to simply download a binary.

I am happy to contribute macOS binaries (M2 and Intel binaries).

@arminbiere
Copy link
Owner

Sounds very intriguing indeed. I am just worried about legal issues (of distribution in binary form) and security (making sure the binary does not have any backdoor etc.) Do you have examples of other automated reasoning tools providing binaries (except for the web-assembly of Z3 which might have more resources to figure out what to release or not).

@danielleberre
Copy link
Author

I see.

In Sat4j, you can download binaries from the continuous integration (or release).
https://gitlab.ow2.org/sat4j/sat4j/-/releases

Most tools I know are provided in binary form with Linux distro or homebrew, i.e. third parties.

Just checked clasp, the github repository only contains source code:
https://potassco.org/clasp/

Not sure how to deal with that.

@a1880
Copy link

a1880 commented Feb 8, 2023

I have ported and compiled most of the Biere family solvers for Windows.
Would be happy to provide them here. But I am also not aware of potential legal issues.

@a1880
Copy link

a1880 commented Feb 8, 2023

The Potassco team does provide Clasp binaries.

For Windows there are packages for conda. A clasp executable is part of the clingo package:

https://anaconda.org/potassco/clingo
https://anaconda.org/conda-forge/clingo

@sfiruch
Copy link

sfiruch commented Apr 2, 2023

Mate Soos releases CryptoMiniSat binaries as well.

(I don't think there are any legal angles to consider.)

@arminbiere
Copy link
Owner

I have added linux (amd64) and apple binaries (arm64 and amd64) to the 3.0.0 release. And will work on Windows next.

@danielleberre
Copy link
Author

I confirm that I can run kissat arm64 binaries on my mac.

However, I had to allow the unsigned executable to be executed using the following procedure: https://github.molgen.mpg.de/pages/bs/macOSnotes/mac/mac_procs_unsigned.html

@a1880
Copy link

a1880 commented May 27, 2023

Windows executables can/should also be signed to ensure integrity. I am using this c# class to sign my executables.

@danielleberre
Copy link
Author

Just noticed that windows 64 binaries are available through a third party: #7

@arminbiere
Copy link
Owner

arminbiere commented May 29, 2023

Right, but as I wrote before, I had been working on porting some other code to windows. This for instance applies to dualiza which cross-compiles on linux to windows with mingw. The general problem with supporting different platforms is that it takes time to set-up the port and worse to maintain it or tweak and pay the platforms on which this is done automatically - for instance I just removed Travis for continous testing completely after it failed for Apple already some time ago. Getting the binaries out on top of porting it is an additional hurdle. I am looking into a solution where I can perform and test the occassional release build for MacOS and Windows as easily as possible. For MacOS it is pretty simple by having access to Apple HW directly. This is anyhow a must for us to have as we are teaching courses where students have programming tasks and only have Apple HW. For Windows it is different as WSL (with Ubuintu) really works the same way as native Linux (Ubuntu) for our type software. Only for Windows users who do not want to install WSL we still need a solution (for both porting and generating binaries).

@arminbiere arminbiere added the enhancement New feature or request label May 29, 2023
@krobelus
Copy link

Yeah travis is dead but Github Actions or Cirrus CI provide MacOS runners.

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