Linux, OS X, and Windows/Cygwin. Based on our experience, wherever LLVM can be built, so can SMACK.
We note the LLVM release that the current version of SMACK has to be compiled against in our installation instructions. It is important to note that since the LLVM bitcode format is not backward compatible, SMACK is only able to process bitcode files generated using the specified LLVM release.
You should contact the authors of that dependency (e.g., LLVM, Z3, Boogie, Corral). While some of these are only supported on certain systems (e.g., Boogie/Corral only on Windows), in practice, many, including us, have gotten them to work on other systems (e.g., Boogie/Corral on Linux & OS X).
When LLVM is compiled and installed on OSX (with --enable-optimized
), many
symbols on which smack.dylib
depends have been stripped from LLVM's opt
executable. Configuring LLVM with --enable-keep-symbols
resolves this
problem.