PLATFORMS.md 3.6 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13
<!--
 - Copyright (C) Internet Systems Consortium, Inc. ("ISC")
 -
 - This Source Code Form is subject to the terms of the Mozilla Public
 - License, v. 2.0. If a copy of the MPL was not distributed with this
 - file, You can obtain one at http://mozilla.org/MPL/2.0/.
 -
 - See the COPYRIGHT file distributed with this work for additional
 - information regarding copyright ownership.
-->
## Supported platforms

In general, this version of BIND will build and run on any POSIX-compliant
14
system with a C11-compliant C compiler, BSD-style sockets with RFC-compliant
Tinderbox User's avatar
Tinderbox User committed
15 16 17 18
IPv6 support, POSIX-compliant threads, the `libuv` asynchronous I/O library,
and the OpenSSL cryptography library.  Atomic operations support from the
compiler is needed, either in the form of builtin operations, C11 atomics,
or the `Interlocked` family of functions on Windows.
19

20 21 22 23 24 25 26 27 28 29
BIND 9.15 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 `libxml2` and `libjson-c` for statistics, `libmaxminddb` for
geolocation, `libfstrm` and `libprotobuf-c` for DNSTAP, and `libidn2` for
internationalized domain name conversion.
30

31 32 33 34 35 36
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.

### Regularly tested platforms

37
As of Dec 2019, BIND 9.15 is fully supported and regularly tested on the
38
following systems:
39

40 41 42 43 44 45 46
* Debian 9, 10
* Ubuntu LTS 16.04, 18.04
* Fedora 30
* Red Hat Enterprise Linux / CentOS 7, 8
* FreeBSD 11.3, 12.0
* OpenBSD 6.5
* Alpine Linux
47 48 49 50 51

The amd64, i386, armhf and arm64 CPU architectures are all fully supported.

### Best effort

52 53 54 55 56
The following are platforms on which BIND is known to build and run.
ISC makes every effort to fix bugs on these platforms, but may be unable to
do so quickly due to lack of hardware, less familiarity on the part of
engineering staff, and other constraints. With the exception of Windows
Server 2012 R2, none of these are tested regularly by ISC.
57 58

* Windows Server 2012 R2, 2016 / x64
59
* Windows 10 / x64
60
* macOS 10.12+
61
* Solaris 11
62
* NetBSD
63
* Other Linux distributions still supported by their vendors, such as:
64
    * Ubuntu 19.04+
65
    * Gentoo
66 67
    * Arch Linux
* OpenWRT/LEDE 17.01+
68 69
* Other CPU architectures (mips, mipsel, sparc, ...)

70 71
### Community maintained

72 73 74 75 76 77 78
These systems may not all have the required dependencies for building BIND
easily available, although it will be possible in many cases to compile
those directly from source. The community and interested parties may wish
to help with maintenance, and we welcome patch contributions, although we
cannot guarantee that we will accept them.  All contributions will be
assessed against the risk of adverse effect on officially supported
platforms.
79 80 81 82 83 84 85

* Platforms past or close to their respective EOL dates, such as:
    * Ubuntu 14.04, 18.10
    * CentOS 6
    * Debian Jessie
    * FreeBSD 10.x

86 87
## Unsupported platforms

88
These are platforms on which BIND 9.15 is known *not* to build or run:
89 90 91

* Platforms without at least OpenSSL 1.0.2
* Windows 10 / x86
92
* Windows Server 2012 and older
93
* Solaris 10 and older
94 95
* Platforms that don't support IPv6 Advanced Socket API (RFC 3542)
* Platforms that don't support atomic operations (via compiler or library)
96
* Linux without NPTL (Native POSIX Thread Library)
97
* Platforms on which `libuv` cannot be compiled