Brad Fitzpatrick | 58593ec | 2016-09-23 15:15:50 -0700 | [diff] [blame] | 1 | # Minimum Requirements |
| 2 | |
| 3 | ## Operating Systems |
| 4 | |
Mikio Hara | 94e3a59 | 2017-04-27 16:22:34 +0900 | [diff] [blame] | 5 | ### [Linux](Linux) |
Brad Fitzpatrick | 58593ec | 2016-09-23 15:15:50 -0700 | [diff] [blame] | 6 | |
Minux Ma | 89f819f | 2017-01-17 19:36:37 -0500 | [diff] [blame] | 7 | Kernel version 2.6.23 or later. [_This depends on architecture though, we need to have specific builder for this._] Linux/ARMv5 requires much newer kernels, at least v3.1 (for `__kuser_cmpxchg64`). |
Brad Fitzpatrick | 58593ec | 2016-09-23 15:15:50 -0700 | [diff] [blame] | 8 | |
Minux Ma | fb7b398 | 2016-09-23 18:47:37 -0400 | [diff] [blame] | 9 | We don't support CentOS 5. Kernel is too old (2.6.18). |
Brad Fitzpatrick | 58593ec | 2016-09-23 15:15:50 -0700 | [diff] [blame] | 10 | |
Russ Cox | dcc77a4 | 2016-10-20 22:08:59 -0400 | [diff] [blame] | 11 | For little-endian MIPS64, kernel version [4.1 is known to fail, and 4.8 works](https://golang.org/issue/16848). |
Russ Cox | c5f56d4 | 2016-10-20 22:08:39 -0400 | [diff] [blame] | 12 | |
Brad Fitzpatrick | 58593ec | 2016-09-23 15:15:50 -0700 | [diff] [blame] | 13 | ### Windows |
| 14 | |
Brad Fitzpatrick | 9d0ae1c | 2016-11-17 14:01:27 -0500 | [diff] [blame] | 15 | Windows XP (w/ Service Pack 2) or higher. But we don't currently (2016-09-23) have a Windows XP running. That is https://github.com/golang/go/issues/10267 |
Brad Fitzpatrick | 58593ec | 2016-09-23 15:15:50 -0700 | [diff] [blame] | 16 | |
| 17 | We run builders testing Go on Windows Server 2008 R2 Datacenter Edition. That is basically Windows 7 or above. |
| 18 | |
Mikio Hara | 94e3a59 | 2017-04-27 16:22:34 +0900 | [diff] [blame] | 19 | ### [macOS (née OS X, aka Darwin)](Darwin) |
Brad Fitzpatrick | 58593ec | 2016-09-23 15:15:50 -0700 | [diff] [blame] | 20 | |
Mikio Hara | 9112952 | 2016-10-20 16:35:55 +0900 | [diff] [blame] | 21 | macOS Sierra (10.12) requires Go 1.7.1. We have not yet (as of 2016-09-23) backported the time system call fixes to any earlier Go versions. See https://github.com/golang/go/issues/16352. |
Brad Fitzpatrick | 58593ec | 2016-09-23 15:15:50 -0700 | [diff] [blame] | 22 | |
Mikio Hara | 07d84ae | 2016-09-29 15:34:34 +0900 | [diff] [blame] | 23 | Go only supports OS X 10.8 (Mountain Lion) or newer. We only have builders for 10.8, 10.10, and 10.11 as of 2016-09-23. |
Brad Fitzpatrick | 58593ec | 2016-09-23 15:15:50 -0700 | [diff] [blame] | 24 | |
Brad Fitzpatrick | c952608 | 2016-11-16 15:03:16 -0500 | [diff] [blame] | 25 | Go tip doesn't compile on OS X 10.7 (Lion) but binaries MAY work there. Maybe. No builders, no promises. We don't recommend it. |
Brad Fitzpatrick | 58593ec | 2016-09-23 15:15:50 -0700 | [diff] [blame] | 26 | |
Mikio Hara | 07d84ae | 2016-09-29 15:34:34 +0900 | [diff] [blame] | 27 | OS X 10.6 (Snow Leopard) is explicitly unsupported. See https://github.com/golang/go/issues/9511 |
Brad Fitzpatrick | 58593ec | 2016-09-23 15:15:50 -0700 | [diff] [blame] | 28 | |
Mikio Hara | 94e3a59 | 2017-04-27 16:22:34 +0900 | [diff] [blame] | 29 | ### [OpenBSD](OpenBSD) |
Brad Fitzpatrick | 58593ec | 2016-09-23 15:15:50 -0700 | [diff] [blame] | 30 | |
Brad Fitzpatrick | 70eb0a4 | 2016-12-07 16:56:00 -0800 | [diff] [blame] | 31 | The current officially supported -stable versions only. See https://golang.org/wiki/OpenBSD for details. |
Brad Fitzpatrick | 58593ec | 2016-09-23 15:15:50 -0700 | [diff] [blame] | 32 | |
Mikio Hara | 94e3a59 | 2017-04-27 16:22:34 +0900 | [diff] [blame] | 33 | ### [DragonFly BSD](DragonFly-BSD) |
Brad Fitzpatrick | 58593ec | 2016-09-23 15:15:50 -0700 | [diff] [blame] | 34 | |
| 35 | Generally only the latest release version only. We have a builder, but it's not the most stable of our ports. |
| 36 | |
Mikio Hara | 94e3a59 | 2017-04-27 16:22:34 +0900 | [diff] [blame] | 37 | ### [FreeBSD](FreeBSD) |
Brad Fitzpatrick | 58593ec | 2016-09-23 15:15:50 -0700 | [diff] [blame] | 38 | |
Mikio Hara | 94e3a59 | 2017-04-27 16:22:34 +0900 | [diff] [blame] | 39 | FreeBSD 8 and up according to https://golang.org/doc/install, but I suspect we might need something newer than 8. We only run builders testing FreeBSD 10.1 and 11.0. |
Brad Fitzpatrick | 58593ec | 2016-09-23 15:15:50 -0700 | [diff] [blame] | 40 | |
Brad Fitzpatrick | 5daa9ab | 2017-06-29 12:14:32 -0700 | [diff] [blame^] | 41 | ### [NetBSD](NetBSD) |
| 42 | |
| 43 | There are known NetBSD bugs (including kernel crashes) up to the current NetBSD 7.1. It's currently not recommended to run Go on NetBSD, though it might work. See https://tip.golang.org/doc/go1.9#known_issues and https://github.com/golang/go/issues/20852 |
| 44 | |
Mikio Hara | 312a15d | 2017-04-27 17:48:35 +0900 | [diff] [blame] | 45 | ### [Native Client](NativeClient) |
Minux Ma | 3cbcb22 | 2016-09-23 18:57:08 -0400 | [diff] [blame] | 46 | |
| 47 | pepper_39 or newer. |
| 48 | |
Mikio Hara | 94e3a59 | 2017-04-27 16:22:34 +0900 | [diff] [blame] | 49 | ### [Solaris](Solaris) |
Minux Ma | f8fd568 | 2016-09-23 18:45:02 -0400 | [diff] [blame] | 50 | |
| 51 | illumos (former OpenSolaris 10) based distributions or Oracle Solaris 11+. |
| 52 | |
Brad Fitzpatrick | 58593ec | 2016-09-23 15:15:50 -0700 | [diff] [blame] | 53 | ## Architectures |
| 54 | |
Keith Randall | 56dafe1 | 2017-03-21 12:53:36 -0700 | [diff] [blame] | 55 | ### amd64 |
| 56 | |
| 57 | All 64-bit x86 processors. |
| 58 | |
| 59 | ### 386 |
Brad Fitzpatrick | 58593ec | 2016-09-23 15:15:50 -0700 | [diff] [blame] | 60 | |
| 61 | See https://golang.org/doc/install/source#environment |
| 62 | |
Keith Randall | 70eb410 | 2017-03-21 12:54:33 -0700 | [diff] [blame] | 63 | * GO386=387: run on any Pentium MMX or later processor. |
Keith Randall | 56dafe1 | 2017-03-21 12:53:36 -0700 | [diff] [blame] | 64 | * GO386=sse2: run on any processor with at least SSE2 (the default). |
Brad Fitzpatrick | 58593ec | 2016-09-23 15:15:50 -0700 | [diff] [blame] | 65 | |
| 66 | ### arm |
| 67 | |
| 68 | See https://golang.org/doc/install/source#environment |
| 69 | |
| 70 | * GOARM=5: use software floating point; when CPU doesn't have VFP co-processor |
| 71 | * GOARM=6: use VFPv1 only; default if cross compiling; usually ARM11 or better cores (VFPv2 or better is also supported) |
| 72 | * GOARM=7: use VFPv3; usually Cortex-A cores |
| 73 | |
| 74 | ### arm64 |
| 75 | |
Minux Ma | a6332e8 | 2016-09-23 18:49:20 -0400 | [diff] [blame] | 76 | All ARMv8-A processors. |
Brad Fitzpatrick | 58593ec | 2016-09-23 15:15:50 -0700 | [diff] [blame] | 77 | |
| 78 | ### ppc64 (big endian) |
| 79 | |
Keith Randall | a13b9d9 | 2017-03-21 13:03:41 -0700 | [diff] [blame] | 80 | POWER5 and above. |
| 81 | Starting with Go 1.9, only POWER8 and above are supported. |
Brad Fitzpatrick | 58593ec | 2016-09-23 15:15:50 -0700 | [diff] [blame] | 82 | |
billotosyr | 7bf2b03 | 2016-09-23 18:22:58 -0400 | [diff] [blame] | 83 | ### ppc64le (little endian) |
| 84 | |
Keith Randall | a13b9d9 | 2017-03-21 13:03:41 -0700 | [diff] [blame] | 85 | POWER8 and above. |
Brad Fitzpatrick | 58593ec | 2016-09-23 15:15:50 -0700 | [diff] [blame] | 86 | |
Minux Ma | ad0af36 | 2016-09-23 18:55:19 -0400 | [diff] [blame] | 87 | ### mips64 (big endian) |
| 88 | |
| 89 | MIPS III or higher. Builder is using MIPS64r2. |
| 90 | |
| 91 | ### mips64le (little endian) |
| 92 | |
| 93 | MIPS III or higher in little endian mode. Builders are using Loongson 2E/2F. |
| 94 | |
Brad Fitzpatrick | 58593ec | 2016-09-23 15:15:50 -0700 | [diff] [blame] | 95 | ### s390x |
| 96 | |
| 97 | z196+ |
Minux Ma | 65a2c7d | 2016-12-01 23:00:08 -0500 | [diff] [blame] | 98 | |
| 99 | ### mips (big endian) and mipsle (little endian) |
| 100 | |
| 101 | MIPS32r1, with FPU or kernel FPU emulation |