---
title: Go on NetBSD
---

Go on NetBSD is fairly stable on the architectures below. However, some bugs remain; see the [issue tracker](https://github.com/golang/go/issues?q=is%3Aissue+is%3Aopen+label%3AOS-NetBSD) for details.

| **Kernel version**    | **Architectures** | **Initial support version** | **Final support version** |
|:----------------------|:------------------|:----------------------------|:--------------------------|
| 8.0 or above          | amd64, arm, 386   |                             |                           |
| 7.0 through 7.1       | amd64, arm, 386   | Go 1.3 _*_                  |                           |
| 6.0 through 6.1       | amd64, arm, 386   | Go 1.3 _*_                  | Go 1.9.7                  |
| 5.0 through 5.2 (EOL) | amd64, 386        | Go 1                        | Go 1.2.2                  |

_*_ Go 1.5 or above is recommended.

Support for the arm64 architecture is a work in progress, see https://go.dev/issue/30824.

## Go packages in pkgsrc

[pkgsrc](https://pkgsrc.org/), the NetBSD package collection, contains up-to-date packages for released Go versions. The packages contain the version in the name (e.g. [`lang/go113`](http://pkgsrc.se/lang/go113)) so that multiple versions can be installed in parallel. [`lang/go`](http://pkgsrc.se/lang/go) is a meta-package that always depends on the default go version.

Note that the `go` binary name is also installed with a version suffix. Install the [`pkgtools/pkg_alternatives`](http://pkgsrc.se/pkgtools/pkg_alternatives) package to get a `go` command symlink in your PATH.

There are a number of packages for software written in Go in pkgsrc. At the moment, module-based builds are experimental, and packages are built using a GOPATH layout.

## Preparing NetBSD for Go

  * install NetBSD (remember to install pkgsrc in the last step)
  * install shells/bash and devel/git (do ` make package-install clean ` in ` /usr/pkgsrc/shells/bash ` and ` /usr/pkgsrc/devel/git `.
    * Using binary packages: ` pkgin install bash git `
