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
No related branches found
No related tags found
No related merge requests found
...@@ -260,3 +260,4 @@ src/knot/zone/semantic-check.c ...@@ -260,3 +260,4 @@ src/knot/zone/semantic-check.c
src/knot/zone/semantic-check.h src/knot/zone/semantic-check.h
src/tests/xfr_tests.h src/tests/xfr_tests.h
src/tests/xfr_tests.c src/tests/xfr_tests.c
doc/knot.texi
...@@ -260,7 +260,9 @@ or large number of requests. ...@@ -260,7 +260,9 @@ or large number of requests.
@node CPU Requirements @node CPU Requirements
@section 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 @node Memory Requirements
@section Memory Requirements @section Memory Requirements
...@@ -294,7 +296,21 @@ Linux, FreeBSD, OpenBSD, NetBSD and Mac OS X. ...@@ -294,7 +296,21 @@ Linux, FreeBSD, OpenBSD, NetBSD and Mac OS X.
@node Required build environment @node Required build environment
@section 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 @node Required libraries
@section Required libraries @section Required libraries
...@@ -304,15 +320,19 @@ Knot DNS requires few libraries to be compiled: ...@@ -304,15 +320,19 @@ Knot DNS requires few libraries to be compiled:
@itemize @itemize
@item @item
OpenSSL OpenSSL, at least 0.9.8
@item @item
zlib zlib
@item @item
Userspace RCU Userspace RCU, at least 0.5.4
@item
libcap-ng, at least 0.6.4 (optional library)
@end itemize @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 You can probably find OpenSSL and zlib libraries already included in
your system or distribution. If not, zlib resides at your system or distribution. If not, zlib resides at
@url{http://zlib.net/}, and OpenSSL can be found at @url{http://zlib.net/}, and OpenSSL can be found at
...@@ -336,10 +356,11 @@ is possible. (@url{http://lttng.org/urcu,Userspace RCU}) ...@@ -336,10 +356,11 @@ is possible. (@url{http://lttng.org/urcu,Userspace RCU})
Binary packages for Debian can be found under liburcu1 for the Binary packages for Debian can be found under liburcu1 for the
library and liburcu-dev for development files. 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 but we recommend using latest available version. It is
especially on non-Linux systems as we got some compatibility especially on non-Linux systems as we got some compatibility
patches accepted in later releases of Userspace RCU. 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 @node Installation from the sources
@section Installation from the sources @section Installation from the sources
...@@ -365,6 +386,20 @@ For all available options run: ...@@ -365,6 +386,20 @@ For all available options run:
@end example @end example
In most simple case you can just run configure without any options. 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 @example
...@@ -505,11 +540,13 @@ in the future, when new version are released. ...@@ -505,11 +540,13 @@ in the future, when new version are released.
@node Installing Knot DNS RPMs on Fedora @node Installing Knot DNS RPMs on Fedora
@subsection Installing Knot DNS RPMs on Fedora @subsection Installing Knot DNS RPMs on Fedora
There are currently no official RPMs.
[TODO] [TODO]
@node Installing Knot DNS from ports on FreeBSD @node Installing Knot DNS from ports on FreeBSD
@subsection Installing Knot DNS from ports on FreeBSD @subsection Installing Knot DNS from ports on FreeBSD
There is currently no official port on FreeBSD.
[TODO] [TODO]
@node Knot DNS Configuration @node Knot DNS Configuration
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment