aboutsummaryrefslogtreecommitdiff
path: root/content/requirements.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/requirements.md')
-rw-r--r--content/requirements.md71
1 files changed, 71 insertions, 0 deletions
diff --git a/content/requirements.md b/content/requirements.md
new file mode 100644
index 0000000..a8444d7
--- /dev/null
+++ b/content/requirements.md
@@ -0,0 +1,71 @@
+---
+title: "Requirements"
+draft: false
+---
+
+### System requirements
+
+Ouroboros builds on most POSIX compliant systems. Below you will find
+instructions for GNU/Linux, FreeBSD and OS X. On Windows 10, you can
+build Ouroboros using the [Linux Subsystem for
+Windows](https://docs.microsoft.com/en-us/windows/wsl/install-win10) .
+
+You need [*git*](https://git-scm.com/) to clone the
+repository. To build Ouroboros, you need [*cmake*](https://cmake.org/),
+[*google protocol buffers*](https://github.com/protobuf-c/protobuf-c)
+installed in addition to a C compiler ([*gcc*](https://gcc.gnu.org/) or
+[*clang*](https://clang.llvm.org/)) and
+[*make*](https://www.gnu.org/software/make/).
+
+Optionally, you can also install
+[*libgcrypt*](https://gnupg.org/software/libgcrypt/index.html),
+[*libssl*](https://www.openssl.org/),
+[*fuse*](https://github.com/libfuse), *dnsutils* and
+[*swig*](http://swig.org/).
+
+On GNU/Linux you will need either libgcrypt (≥ 1.7.0) or libssl if your
+[*glibc*](https://www.gnu.org/software/libc/) is older than version
+2.25.
+
+On OS X, you will need [homebrew](https://brew.sh/). [Disable System
+Integrity
+Protection](https://developer.apple.com/library/content/documentation/Security/Conceptual/System_Integrity_Protection_Guide/ConfiguringSystemIntegrityProtection/ConfiguringSystemIntegrityProtection.html)
+during the [installation](#install) and [removal](#remove) of
+Ouroboros.
+
+### Install the dependencies
+
+**Debian/Ubuntu Linux:**
+
+```
+$ apt-get install git protobuf-c-compiler cmake
+$ apt-get install libgcrypt20-dev libssl-dev libfuse-dev dnsutils swig cmake-curses-gui
+```
+
+On some distributions you need to install the protobuf C library
+explicitly:
+
+```
+$ apt-get install libprotobuf-c-dev
+```
+
+**Arch Linux:**
+
+```
+$ pacman -S git protobuf-c cmake
+$ pacman -S libgcrypt openssl fuse dnsutils swig
+```
+
+**FreeBSD 11:**
+
+```
+$ pkg install git protobuf-c cmake
+$ pkg install libgcrypt openssl fusefs-libs bind-tools swig
+```
+
+**Mac OS X Sierra / High Sierra:**
+
+```
+$ brew install git protobuf-c cmake
+$ brew install libgcrypt openssl swig
+``` \ No newline at end of file