-
Notifications
You must be signed in to change notification settings - Fork 24
Does not compile with Z3 v4.4.2 #3
Comments
Which version of Z3 is SLAayer known to work with? I have been trying to compile against Z3 v4.4.2 but
the OCaml interface appears to have changed substantially.
Yes, SLAyer uses a significantly different OCaml interface to Z3. The version of Z3 that the submodule references, commit d4314d4e3c9722ca10b27250dd2dec822174e4d1 of https://git.codeplex.com/forks/jjb/z3 was tested quite thoroughly. I don't know if later versions of Z3 can be easily merged into that fork, in order to use the OCaml api. Also, in the past, significant changes to the version of Z3 have entailed some work in SLAyer, hence the submodule pointing at a specific commit.
Cheers, Josh
|
Are you certain the above commit number is correct? I just cloned the z3 git repo in your reply but "git checkout d4314d4e3c9722ca10b27250dd2dec822174e4d1" produced no results (fatal: reference is not a tree: d4314d4e3c9722ca10b27250dd2dec822174e4d1). Thank you for your help, |
Hmm... I just tried cloning a fresh copy, and the referenced Z3 commit is found:
Do you get different results? |
My bad, I was cloning from the official Z3 repo. So Z3 appears to compile fine now but I still get
|
On Fri, Apr 22 2016, dgenin wrote:
This is indicating that the OCaml bindings for Z3 have not been built successfully. Do you have z3.cmi and z3.cma in the /Users/genindi1/tools/SLAyer/src/../tools/Z3/build/api/ml directory? Perhaps things got into an inconsistent state due to the difficulty cloning Z3? Does |
z3.cma and z3.cmi are both there $ ls ../tools/Z3/build/api/ml/z3.cm* Just tried starting over from scratch and ran into the same problem ~/Code/SLAyer/src $ make
|
Ok, thanks. I think that to debug I will need the full transcript from building at least the z3 ocaml bindings and slayer. Could you add the transcript of running: `opam info camlidl`, `make clean clean_mlz3`, and `make`? At the moment I suspect something related to camlidl is not as expected on your system.
|
OK, that helped! Turns out camlidl was not installed. Once I installed it, I was able to compile slayer. BTW, was this in the documentation somewhere? Might be a good idea to add a check for camlidl in config.sh. Thank you for your help, Josh. |
Excellent, that's good to hear. You are right, there seems to be no mention of the camlidl dependency anywhere. Will fix, thanks.
|
Hi @dgenin, |
I would love to help but sadly my employer's IP rules are so expansive that I can't contribute even if I do it in my own free time:( This probably means I had no right to pull your code either, right? |
@dgenin: I understand! (At MSFT, we can contribute as many bug-fixes and sample code as we like. Much better than nothing.) |
For sure. I am actually quite impressed with Microsoft's recent open sourcing of a number of projects like Z3 and SLayer. Hopefully, my employer too will decide to join the 21st century in the not too distant future. |
Which version of Z3 is SLAayer known to work with? I have been trying to compile against Z3 v4.4.2 but the OCaml interface appears to have changed substantially.
The text was updated successfully, but these errors were encountered: