KIELE Release - v0.1.0-5ad405e479f
Installing KIELE
We support the following installation methods:
- Ubuntu Bionic (18.04) package
- Linux binary package (most other distributions)
- Nix (Linux and macOS)
- Build from source (Linux and macOS)
Our most up-to-date packages are available at https://github.com/runtimeverification/iele-semantics/releases.
NOTE: We do not currently support running K on native Windows.
To use K on Windows, you are encouraged to install Windows Subsystem for Linux and follow the instructions for Ubuntu Bionic.
Ubuntu Bionic package
First make sure you have the kframework
package installed, see instructions here: https://github.com/kframework/k/releases.
Download the appropriate "Ubuntu Bionic" package from the GitHub, via the Releases page.
Releases are generated as often as possible from master
build.
Assuming you have downloaded KIELE version X.Y.Z
, install the package with apt
:
sudo apt install ./kiele_X.Y.Z_amd64_bionic.deb
Linux binary package
Install the following runtime dependencies:
sudo apt-get install --yes libcrypto++-dev libjemalloc-dev libmpfr-dev libprotobuf-dev libsecp256k1-dev
Download the "KIELE Linux Binary" package from the GitHub, via the Releases page.
Releases are generated as often as possible from master
build.
Assuming you have downloaded KIELE version X.Y.Z
, extract the tarball:
tar -xvf kiele-X.Y.Z-bin.tar.gz
Copy all the files in the tarball into place:
mkdir -p ~/.local/bin ~/.local/lib
cp -r kiele-X.Y.Z-bin/bin/* ~/.local/bin/
cp -r kiele-X.Y.Z-bin/lib/* ~/.local/lib/
And make sure it's on PATH
:
export PATH=$HOME/local/bin:$PATH
Nix
A Nix expression is provided, with binary caching for Linux and macOS.
Prerequisites
It is safe to skip any of these dependencies that are already installed.
Follow the instructions below.
Perform all steps as your normal (non-root) user.
You may find the same instructions and our public key at https://runtimeverification.cachix.org.
To follow this instructions, you will need curl
installed on your system https://curl.haxx.se/download.html.
Nix
Please pay careful attention to any additional instructions printed by the installer.
Install Nix:
# Linux and macOS < 10.15
bash <(curl -L https://nixos.org/nix/install)
# macOS 10.15 (See note below)
bash <(curl -L https://nixos.org/nix/install) --darwin-use-unencrypted-nix-store-volume
For macOS 10.15, please refer to the Nix manual for more information.
Cachix
Install Cachix and start using the binary cache:
nix-env -iA cachix -f https://cachix.org/api/v1/install
cachix use runtimeverification
Install with Nix
With the prerequisites installed,
we can install kiele
from any clone of the repository:
git clone https://github.com/runtimeverification/iele-semantics
cd iele-semantics
git submodule update --init --recursive
nix-env -f . -i
Build from source
System Dependencies
The following packages are needed for running KIELE on Ubuntu:
sudo apt-get install --yes autoconf build-essential cmake curl flex gcc \
libcrypto++-dev libffi-dev libmpfr-dev \
libprocps-dev libprotobuf-dev libsecp256k1-dev \
libssl-dev libtool make maven netcat opam \
openjdk-8-jdk pkg-config protobuf-compiler \
python3 zlib1g-dev
On MacOS, you need the following:
brew tap homebrew/homebrew-cask homebrew-cask-versions
brew cask install java8
brew install maven opam pkg-config gmp mpfr automake libtool
On all systems, you need Haskell Stack:
curl -sSL https://get.haskellstack.org/ | sh
Build K and KIELE
These commands build and install K and KIELE:
git clone https://github.com/runtimeverification/iele-semantics.git
cd iele-semantics
git submodule update --init --recursive
curl -sSL https://github.com/kframework/k/releases/download/$(cat deps/k_release)/kframework_5.0.0_amd64_bionic.deb --output kframework.deb
sudo apt-get install --yes ./kframework.deb
sudo bash -c 'OPAMROOT=/usr/lib/kframework/opamroot k-configure-opam'
sudo bash -c 'OPAMROOT=/usr/lib/kframework/opamroot opam install --yes ocaml-protoc rlp yojson zarith hex uuidm cryptokit'
export OPAMROOT=/usr/lib/kframework/opamroot
eval $(opam config env)
make build -j4
Finally, set the install directory on PATH:
export PATH=$(pwd)/.build/lib:$PATH