Skip to content
Snippets Groups Projects
Commit dedbbda2 authored by Marek Vavrusa's avatar Marek Vavrusa
Browse files

Documented requirements and configure options.

parent 13bf01e1
Branches
Tags
No related merge requests found
......@@ -260,3 +260,4 @@ src/knot/zone/semantic-check.c
src/knot/zone/semantic-check.h
src/tests/xfr_tests.h
src/tests/xfr_tests.c
doc/knot.texi
......@@ -260,7 +260,9 @@ or large number of requests.
@node CPU Requirements
@section CPU Requirements
Knot DNS is not very CPU requiring, but it can consume some CPU
Knot DNS scales with the processing power and also the nubmer of available cores/CPUs.
There is no lower bound on the CPU requirements, but it should support memory barriers
and CAS (i586 and newer).
@node Memory Requirements
@section Memory Requirements
......@@ -294,7 +296,21 @@ Linux, FreeBSD, OpenBSD, NetBSD and Mac OS X.
@node Required build environment
@section Required build environment
[TODO] Describe lowest needed GCC/Clang, etc.
GCC at least 4.1 is strictly required for atomic builtins, but 4.2 or newer is recommended.
Another requirement is _GNU_SOURCE support, otherwise it adapts to the compiler available features.
Clang should work, but it is not tested nor supported.
Knot DNS build system relies on standard tools:
@itemize
@item
make
@item
autoconf >= 2.65
@item
flex >= 2.5.31
@item
bison >= 2.3
@end itemize
@node Required libraries
@section Required libraries
......@@ -304,15 +320,19 @@ Knot DNS requires few libraries to be compiled:
@itemize
@item
OpenSSL
OpenSSL, at least 0.9.8
@item
zlib
@item
Userspace RCU
Userspace RCU, at least 0.5.4
@item
libcap-ng, at least 0.6.4 (optional library)
@end itemize
If libcap-ng library is available, Knot DNS will take advantage of
the POSIX 1003.1e capabilites(7) by sandboxing the communication threads.
Most rights are stripped from the communication threads for security reasons.
You can probably find OpenSSL and zlib libraries already included in
your system or distribution. If not, zlib resides at
@url{http://zlib.net/}, and OpenSSL can be found at
......@@ -336,10 +356,11 @@ is possible. (@url{http://lttng.org/urcu,Userspace RCU})
Binary packages for Debian can be found under liburcu1 for the
library and liburcu-dev for development files.
Minimum supported version of Userspace RCU library is 0.4.0,
Minimum supported version of Userspace RCU library is 0.5.4,
but we recommend using latest available version. It is
especially on non-Linux systems as we got some compatibility
patches accepted in later releases of Userspace RCU.
OpenBSD,NetBSD and OS X platforms are supported from version 0.7.0.
@node Installation from the sources
@section Installation from the sources
......@@ -365,6 +386,20 @@ For all available options run:
@end example
In most simple case you can just run configure without any options.
If you have trouble with unknown syscalls under valgrind, disable recvmmsg with
@command{./configure --enable-recvmmsg=no}.
Also, it has been reported that some platforms have broken LTO (Link time optimizations)
support, you can disable that by @command{./configure --enable-lto=no}.
If you want to add debug messages, there are two steps to do that.
First you have to enable modules, that you are interested in.
Available are: server, zones, xfr, packet, dname, rr, ns, hash, compiler.
You can combine multiple modules as a comma-separated list.
For example: @command{./configure --enable-debug=server,packet}
Then you can narrow the verbosity of the debugging message by specifying the
verbosity as brief, verbose or details.
For example: @command{./configure --enable-debuglevel=verbose}.
@example
......@@ -505,11 +540,13 @@ in the future, when new version are released.
@node Installing Knot DNS RPMs on Fedora
@subsection Installing Knot DNS RPMs on Fedora
There are currently no official RPMs.
[TODO]
@node Installing Knot DNS from ports on FreeBSD
@subsection Installing Knot DNS from ports on FreeBSD
There is currently no official port on FreeBSD.
[TODO]
@node Knot DNS Configuration
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment