Skip to content

Latest commit

 

History

History
99 lines (53 loc) · 2.92 KB

MinimumRequirements.md

File metadata and controls

99 lines (53 loc) · 2.92 KB

Minimum Requirements

Operating Systems

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).

We don't support CentOS 5. The kernel is too old (2.6.18).

For little-endian MIPS64, kernel version 4.1 is known to fail, and 4.8 works.

If you are using tinyconfig (e.g. make tinyconfig) for embedded systems, you will also almost certainly enable printk in the kernel as well as a console; we will not include those generic options here. For Go, you must also enable CONFIG_FUTEX.

For Go 1.10: Windows XP (w/ Service Pack 3) or higher.

For Go 1.11 and later: Windows Server 2008R2 and higher or Windows 7 and higher. We test on Windows Server 2008 R2, 2012 R2, and 2016, which are roughly Windows 7, Windows 8, and Windows 10.

macOS Sierra 10.12 or higher requires Go 1.7.1 or above. Go only supports OS X Yosemite 10.10 or newer. We only have builders for 10.10, 10.11 and 10.12 as of 2019-01-11.

The current officially supported -stable versions only.

Generally only the latest release version only. We have a builder, but it's not the most stable of our ports.

FreeBSD 10 or higher. We only run builders testing FreeBSD 10.4, 11.2 and 12.0.

There are known NetBSD bugs (including kernel crashes) up to the current NetBSD 7.1. There is a reported fix in NetBSD 7.1.1 but it's unverified as of 2017-07-10, as we're not running builders again yet. See https://tip.golang.org/doc/go1.9#known_issues and golang/go#20852

pepper_39 or newer.

illumos (former OpenSolaris 10) based distributions or Oracle Solaris 11+.

Architectures

amd64

All 64-bit x86 processors.

386

See https://golang.org/doc/install/source#environment

  • GO386=387: run on any Pentium MMX or later processor.
  • GO386=sse2: run on any processor with at least SSE2 (the default).

arm

See https://golang.org/doc/install/source#environment

  • GOARM=5: use software floating point; when CPU doesn't have VFP co-processor
  • GOARM=6: use VFPv1 only; default if cross compiling; usually ARM11 or better cores (VFPv2 or better is also supported)
  • GOARM=7: use VFPv3; usually Cortex-A cores

arm64

All ARMv8-A processors.

ppc64 (big endian)

POWER5 and above. Starting with Go 1.9, only POWER8 and above are supported.

ppc64le (little endian)

POWER8 and above.

mips64 (big endian)

MIPS III or higher. Builder is using MIPS64r2.

mips64le (little endian)

MIPS III or higher in little endian mode. Builders are using Loongson 2E/2F.

s390x

z196+

mips (big endian) and mipsle (little endian)

MIPS32r1