+ * A working dynamic library system
+ * A working lex and yacc - flex and bison should work
+
+# platforms
+
+Solanum is developed on Linux with glibc, but is currently portable to most POSIX-compatible operating systems.
+However, this portability is likely to be removed unless someone is willing to maintain it. If you'd like to be that
+person, please let us know on IRC.
+
+# platform specific errata
+
+These are known issues and workarounds for various platforms.
+
+ * **macOS**: you must set the `LIBTOOLIZE` environment variable to point to glibtoolize before running autogen.sh:
+
+ ```bash
+ brew install libtool
+ export LIBTOOLIZE="/usr/local/bin/glibtoolize"
+ ./autogen.sh
+ ```
+
+ * **FreeBSD**: if you are compiling with ipv6 you may experience
+ problems with ipv4 due to the way the socket code is written. To
+ fix this you must: `sysctl net.inet6.ip6.v6only=0`
+
+ * **Solaris**: you may have to set your `PATH` to include `/usr/gnu/bin` and `/usr/gnu/sbin` before `/usr/bin`
+ and `/usr/sbin`. Solaris's default tools don't seem to play nicely with the configure script. When running
+ as a 32-bit binary, it should be started as:
+
+ ```bash
+ ulimit -n 4095 ; LD_PRELOAD_32=/usr/lib/extendedFILE.so.1 ./solanum
+ ```
+
+# building
+
+```bash
+./autogen.sh
+./configure --prefix=/path/to/installation
+make
+make check # run tests
+make install
+```
+
+See `./configure --help` for build options.