2018-05-23 23:19:17 -07:00
|
|
|
<!--
|
|
|
|
- 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
|
2018-09-03 06:42:26 +02:00
|
|
|
system with a C99-compliant C compiler, BSD-style sockets with RFC-compliant
|
|
|
|
IPv6 support, POSIX-compliant threads, 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.
|
2018-05-23 23:19:17 -07:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2019-02-21 16:04:33 -08:00
|
|
|
As of Feb 2019, BIND 9.15 is fully supported and regularly tested on the
|
2019-01-28 13:37:39 +01:00
|
|
|
following systems:
|
2018-05-23 23:19:17 -07:00
|
|
|
|
2019-01-28 13:37:39 +01:00
|
|
|
* Debian 8, 9, 10
|
2018-05-23 23:19:17 -07:00
|
|
|
* Ubuntu 16.04, 18.04
|
2019-01-28 13:37:39 +01:00
|
|
|
* Fedora 28, 29
|
|
|
|
* Red Hat Enterprise Linux / CentOS 6, 7
|
|
|
|
* FreeBSD 11.x
|
|
|
|
* OpenBSD 6.2, 6.3
|
2018-05-23 23:19:17 -07:00
|
|
|
|
|
|
|
The amd64, i386, armhf and arm64 CPU architectures are all fully supported.
|
|
|
|
|
|
|
|
### Best effort
|
|
|
|
|
2019-01-28 13:37:39 +01:00
|
|
|
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.
|
2018-05-23 23:19:17 -07:00
|
|
|
|
|
|
|
* Windows Server 2012 R2, 2016 / x64
|
2019-01-28 13:37:39 +01:00
|
|
|
* Windows 10 / x64
|
2018-05-23 23:19:17 -07:00
|
|
|
* macOS 10.12+
|
2019-01-28 13:37:39 +01:00
|
|
|
* Solaris 11
|
|
|
|
* FreeBSD 10.x, 12.0+
|
|
|
|
* OpenBSD 6.4+
|
2018-05-23 23:19:17 -07:00
|
|
|
* NetBSD
|
2019-01-28 13:37:39 +01:00
|
|
|
* Other Linux distributions still supported by their vendors, such as:
|
2018-05-23 23:19:17 -07:00
|
|
|
* Ubuntu 14.04, 18.10+
|
|
|
|
* Gentoo
|
2019-01-28 13:37:39 +01:00
|
|
|
* Arch Linux
|
2018-05-23 23:19:17 -07:00
|
|
|
* Alpine Linux
|
2019-01-28 13:37:39 +01:00
|
|
|
* OpenWRT/LEDE 17.01+
|
2018-05-23 23:19:17 -07:00
|
|
|
* Other CPU architectures (mips, mipsel, sparc, ...)
|
|
|
|
|
|
|
|
## Unsupported platforms
|
|
|
|
|
2019-02-21 16:04:33 -08:00
|
|
|
These are platforms on which BIND 9.15 is known *not* to build or run:
|
2018-05-23 23:19:17 -07:00
|
|
|
|
|
|
|
* Platforms without at least OpenSSL 1.0.2
|
|
|
|
* Windows 10 / x86
|
2018-09-03 06:42:26 +02:00
|
|
|
* Windows Server 2012 and older
|
2019-01-28 13:37:39 +01:00
|
|
|
* Solaris 10 and older
|
2018-09-03 06:42:26 +02:00
|
|
|
* Platforms that don't support IPv6 Advanced Socket API (RFC 3542)
|
|
|
|
* Platforms that don't support atomic operations (via compiler or library)
|
2018-09-05 13:24:15 +02:00
|
|
|
* Linux without NPTL (Native POSIX Thread Library)
|
2018-10-22 11:43:29 +02:00
|
|
|
|
|
|
|
## Platform quirks
|
|
|
|
|
|
|
|
### ARM
|
|
|
|
|
|
|
|
If the compilation ends with following error:
|
|
|
|
|
|
|
|
```
|
|
|
|
Error: selected processor does not support `yield' in ARM mode
|
|
|
|
```
|
|
|
|
|
|
|
|
You will need to set `-march` compiler option to `native`, so the compiler
|
|
|
|
recognizes `yield` assembler instruction. The proper way to set `-march=native`
|
|
|
|
would be to put it into `CFLAGS`, e.g. run `./configure` like this:
|
|
|
|
`CFLAGS="-march=native -Os -g" ./configure` plus your usual options.
|
|
|
|
|
|
|
|
If that doesn't work, you can enforce the minimum CPU and FPU (taken from Debian
|
|
|
|
armhf documentation):
|
|
|
|
|
|
|
|
* The lowest worthwhile CPU implementation is Armv7-A, therefore the recommended
|
|
|
|
build option is `-march=armv7-a`.
|
|
|
|
|
2019-01-28 13:37:39 +01:00
|
|
|
* FPU should be set at VFPv3-D16 as they represent the minimum specification of
|
2018-10-22 11:43:29 +02:00
|
|
|
the processors to support here, therefore the recommended build option is
|
|
|
|
`-mfpu=vfpv3-d16`.
|
|
|
|
|
|
|
|
The configure command should look like this:
|
|
|
|
|
|
|
|
```
|
|
|
|
CFLAGS="-march=armv7-a -mfpu=vfpv3-d16 -Os -g" ./configure
|
|
|
|
```
|