Conjure can be installed either by downloading a binary distribution, or by compiling it from source code.
Downloading a binary
Conjure is available as an executable binary for Linux and MacOS. If it is available for your platform, you can just download it and run it. It may be useful to save the binary under a directory that is in your search PATH, so you do not have to type the full path to the Conjure executable to run it.
For Windows, please use the Linux binaries with the Windows Subsystem for Linux.
Compiling from source
In order to compile Conjure on your computer, please download the source code from GitHub.
git clone email@example.com:conjure-cp/conjure.git cd conjure BIN_DIR=/somewhere/in/your/path make install
It comes with a Makefile which will use Stack by default. The default target in the Makefile will install Stack using the standard procedures (which involves downloading and running a script). For more precise control, you might want to consider installing the Haskell tools beforehand instead of using the Makefile.
In addition, a number of supported backend solvers can be compiled using the make solvers target. This target also takes a BIN_DIR environment variable to control the location of the solver executables, and a PROCESSES environment variable to control how many processes to use when building solvers
BIN_DIR=/somewhere/in/your/path PROCESSES=4 make solvers
Installing Savile Row
Since Conjure works by generating an Essence’ model, Savile Row is a vital tool when using it. Savile Row can be downloaded from its website.
You do not need to download Savile Row separately when you compile Conjure from source. An up-to-date version of Savile Row is also copied next to the Conjure executable.
Compiling the documentation
The Makefile target docs builds the manual in PDF and HTML format. This requires some Python packages to already be installed. With a recent Python 3 the following should work to install the needed Python dependencies:
pip3 install sphinx-rtd-theme sphinxcontrib-bibtex
Without specifying versions this currently installs Sphinx-5.x and recent versions of related dependencies.
opendoc < 0.18 rather than a more recent version.
Some packages used by
sphinxcontrib-bibtex also seem to require an older version
opendoc but do not explicitly declare this dependency, and just running
pip3 install sphinxcontrib-bibtex will install packages which cannot successfully build the PDF documentation.
The PDF target needs a fairly comprehensive TeX installation, with many styles and fonts beyond a minimal installation. The default packages installed by MacTeX should work on macOS.