mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-31 14:35:26 +00:00
Deduplicate text between Building BIND 9 / Supported Platforms in the ARM
Supported Platforms section is now really only about platforms and not libraries. Libraries were moved to the Building BIND section. We now have section for required libraries, and second with optional features. Wordy explanations were taken verbatim from the original README.md.
This commit is contained in:
committed by
Michał Kępień
parent
933ed9d537
commit
2c81fa9013
@@ -12,21 +12,6 @@
|
||||
Building BIND 9
|
||||
---------------
|
||||
|
||||
At a minimum, BIND requires a Unix or Linux system with an ANSI C
|
||||
compiler, basic POSIX support, and a 64-bit integer type. BIND also
|
||||
requires the ``libuv`` asynchronous I/O library, the ``nghttp2`` HTTP/2
|
||||
library, the ``jemalloc`` memory allocation library, and the OpenSSL
|
||||
cryptography library. On Linux, BIND requires the ``libcap`` library to
|
||||
set process privileges, though this requirement can be overridden by
|
||||
disabling capability support at compile time. See `Compile-time
|
||||
options <#opts>`__ below for details on other libraries that may be
|
||||
required to support optional features.
|
||||
|
||||
Successful builds have been observed on many versions of Linux and Unix,
|
||||
including RHEL/CentOS/Oracle Linux, Fedora, Debian, Ubuntu, SLES,
|
||||
openSUSE, Slackware, Alpine, FreeBSD, NetBSD, OpenBSD, macOS, Solaris,
|
||||
OpenIndiana, OmniOS CE, HP-UX, and OpenWRT.
|
||||
|
||||
To build on a Unix or Linux system, use:
|
||||
|
||||
::
|
||||
@@ -70,37 +55,42 @@ https://developer.apple.com/download/more/ or, if you have Xcode already
|
||||
installed, you can run ``xcode-select --install``. (Note that an Apple
|
||||
ID may be required to access the download page.)
|
||||
|
||||
Dependencies
|
||||
~~~~~~~~~~~~
|
||||
.. _build_dependencies:
|
||||
|
||||
Required libraries
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To build BIND you need to have the following packages installed:
|
||||
|
||||
::
|
||||
- ``libuv`` for asynchronous I/O operations and event loops
|
||||
- ``libssl`` and ``libcrypto`` from OpenSSL for cryptography
|
||||
- ``pkg-config / pkgconfig / pkgconf`` for build system support
|
||||
|
||||
libuv
|
||||
pkg-config / pkgconfig / pkgconf
|
||||
BIND 9.19 requires a fairly recent version of ``libuv`` (at least 1.x).
|
||||
For some older systems, you will have to install an updated ``libuv``
|
||||
package from sources such as EPEL, PPA, or other native sources for updated
|
||||
packages. The other option is to build and install ``libuv`` from source.
|
||||
|
||||
OpenSSL 1.0.2e or newer is required.
|
||||
If the OpenSSL library is installed in a nonstandard location,
|
||||
specify the prefix using ``--with-openssl=<PREFIX>`` on the
|
||||
configure command line. To use a PKCS#11 hardware service module for
|
||||
cryptographic operations, it will be necessary to compile and use
|
||||
engine_pkcs11 from the OpenSC project.
|
||||
|
||||
To build BIND from the git repository, you need the following tools
|
||||
installed:
|
||||
|
||||
::
|
||||
- ``autoconf`` (includes autoreconf)
|
||||
- ``automake``
|
||||
- ``libtool``
|
||||
|
||||
autoconf (includes autoreconf)
|
||||
automake
|
||||
libtool
|
||||
|
||||
Compile-time options
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
Optional features
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
To see a full list of configuration options, run ``configure --help``.
|
||||
|
||||
For the server to support DNSSEC, you need to build it with crypto
|
||||
support. To use OpenSSL, you must have OpenSSL 1.0.2e or newer
|
||||
installed. If the OpenSSL library is installed in a nonstandard
|
||||
location, specify the prefix using ``--with-openssl=<PREFIX>`` on the
|
||||
configure command line. To use a PKCS#11 hardware service module for
|
||||
cryptographic operations, it will be necessary to compile and use
|
||||
engine_pkcs11 from the OpenSC project.
|
||||
To improve performance, ``libjemalloc`` library is strongly recommended.
|
||||
|
||||
To support DNS over HTTPS, the server must be linked with
|
||||
``libnghttp2``.
|
||||
@@ -133,6 +123,13 @@ https://github.com/farsightsec/fstrm and ``libprotobuf-c``
|
||||
https://developers.google.com/protocol-buffers, and BIND must be
|
||||
configured with ``--enable-dnstap``.
|
||||
|
||||
To support internationalized domain names in ``dig``, you must have installed
|
||||
``libidn2``. If the library is installed in a nonstandard location, specify
|
||||
the prefix using ``--with-libidn2=/prefix`` or adjust ``PKG_CONFIG_PATH``.
|
||||
|
||||
For line editing in ``nsupdate`` and ``nslookup``, you must have installed
|
||||
``readline`` library.
|
||||
|
||||
Certain compiled-in constants and default settings can be decreased to
|
||||
values better suited to small machines, e.g. OpenWRT boxes, by
|
||||
specifying ``--with-tuning=small`` on the ``configure`` command line.
|
||||
|
@@ -11,7 +11,7 @@
|
||||
|
||||
.. _supported_os:
|
||||
|
||||
Supported platforms
|
||||
Supported Platforms
|
||||
-------------------
|
||||
|
||||
Current support status of various platforms and BIND 9 versions can be
|
||||
@@ -21,16 +21,8 @@ https://kb.isc.org/docs/supported-platforms
|
||||
|
||||
In general, this version of BIND will build and run on any
|
||||
POSIX-compliant system with a C11-compliant C compiler, BSD-style
|
||||
sockets with RFC-compliant IPv6 support, and POSIX-compliant threads,
|
||||
plus the following mandatory libraries:
|
||||
|
||||
- ``libuv`` for asynchronous I/O operations and event loops
|
||||
- ``libssl`` and ``libcrypto`` from OpenSSL for cryptography
|
||||
|
||||
Use of the following libraries is optional:
|
||||
|
||||
- ``libjemalloc`` for improved memory allocation performance
|
||||
- ``libnghttp2`` for DNS-over-HTTPS (DoH) support
|
||||
sockets with RFC-compliant IPv6 support, POSIX-compliant threads, and
|
||||
the :ref:`required libraries <build_dependencies>`.
|
||||
|
||||
The following C11 features are used in BIND 9:
|
||||
|
||||
@@ -43,24 +35,6 @@ The following C11 features are used in BIND 9:
|
||||
|
||||
The C11 variants are preferred.
|
||||
|
||||
BIND 9.19 requires a fairly recent version of ``libuv`` (at least 1.x).
|
||||
For some of the older systems listed below, you will have to install an
|
||||
updated ``libuv`` package from sources such as EPEL, PPA, or other
|
||||
native sources for updated packages. The other option is to build and
|
||||
install ``libuv`` from source.
|
||||
|
||||
Certain optional BIND features have additional library dependencies.
|
||||
These include:
|
||||
|
||||
- ``libfstrm`` and ``libprotobuf-c`` for DNSTAP
|
||||
- ``libidn2`` for display of internationalized domain names in ``dig``
|
||||
- ``libjson-c`` for JSON statistics
|
||||
- ``libmaxminddb`` for geolocation
|
||||
- ``libnghttp2`` for DNS over HTTPS
|
||||
- ``libxml2`` for XML statistics
|
||||
- ``libz`` for compression of the HTTP statistics channel
|
||||
- ``readline`` for line editing in ``nsupdate`` and ``nslookup``
|
||||
|
||||
ISC regularly tests BIND on many operating systems and architectures,
|
||||
but lacks the resources to test all of them. Consequently, ISC is only
|
||||
able to offer support on a “best effort” basis for some.
|
||||
@@ -121,7 +95,7 @@ supported platforms.
|
||||
- Debian Jessie
|
||||
- FreeBSD 10.x, 11.x
|
||||
|
||||
Unsupported platforms
|
||||
Unsupported Platforms
|
||||
---------------------
|
||||
|
||||
These are platforms on which BIND 9.19 is known *not* to build or run:
|
||||
|
Reference in New Issue
Block a user