meelgroup / bosphorus

Bosphorus, ANF simplifier and solver, and ANF-to-CNF converter
Other
67 stars 18 forks source link

The executable file about the newest bosphorus #40

Closed zfx-code closed 1 year ago

zfx-code commented 1 year ago

Dear author. I don't know if it's my problem. I noticed that: the same ANF file use different version bosphorus, will get the different CNF file(including file size and SAT solving speed). For example the executable file: https://github.com/meelgroup/bosphorus/releases/download/bosphorus-3.0/bosphorus-linux64.gz and some version I compiled myself earlier(about 2022.9) get different CNF file. But unfortunately, I lost the history compiled bosphorus file, and now I can't compile successfully. So could you please give me a copy of the newest executable file(like bosphorus-linux64 can run directly, no other dependencies). Because I noticed that my compiled result still need shared libraries: libbosphorus.so.3.0. image

Looking forward to your reply! Best wishes to you! --zfx

msoos commented 1 year ago

Hi,

Different versions will generate different CNFs, but all the CNFs eventually mean the same thing, i.e. if you solve them, the solution would be a solution to the original ANF. The tool can output a solution map that allows you to know how to map the solution from CNF to ANF if you run it with --solmap MAPPING_FILE where MAPPING_FILE will be written by the tool as an output.

Regarding the error you are getting. You seemed to have deleted the bosphorus library, which contains all the relevant information, including the version, so unfortunately I can't tell you which version it was that you used. However, the newest version should be OK. Have you tried? I'd suggest using version:

https://github.com/meelgroup/bosphorus/releases/tag/bosphorus-3.0

And in particular the bosphorus-linux64.gz file -- once ungzipped, it's a static linux executable that will run just fine. Notice that this is a static executable, so you will never have this issue of accidentally deleting the library, since it does not need a library file :)

Good luck,

Mate

zfx-code commented 1 year ago

Thanks, author! This version(static executable) I have tried.(https://github.com/meelgroup/bosphorus/releases/tag/bosphorus-3.0) But this is about 2020, it is different with before I used(2022.09). I want the newest version(same static executable), because I have some trouble about compiling myself...... When I compiled BRail:(./configure) image When I compiled bosphorus:(cmake ..) image

Of course it's my problem, because I've compiled it successfully before...... So maybe you recompile a copy of the newest static executable file?(use the now source code) Like the 2020 version, I can run it without any library.

Again thank you very much! Best wishes to you!

msoos commented 1 year ago

Newest release is now available at:

https://github.com/meelgroup/bosphorus/releases/tag/3.1.0

I now consider this issue closed and I am muting it. Please create a new issue in case you have any further questions. I cannot help any more with any build issues, unfortunately.

a1880 commented 1 year ago

To build bosphporus, I had to install libpng and update pkg-config. The cmake script of bosphorus does not include Boost serialization. I added "serialization" in line 288 of CMakeLists.txt

find_package( Boost 1.34 REQUIRED COMPONENTS program_options serialization)