blob: fb3e9cb6ee7cff4fd7f9bdbe48855dd03f3f615b [file] [log] [blame] [view]
Andrew Gerrand5bc444d2014-12-10 11:35:11 +11001# Go on OpenBSD
2
Constantine A. Murenin1beb25b2015-02-25 20:26:18 +00003Go is available within the OpenBSD ports tree collection since OpenBSD 5.2. It is marked as i386- and amd64- only. See [`ports/lang/go`](http://ports.su/lang/go) for details.
Constantine A. Mureninc2964ab2015-02-25 20:04:31 +00004
5| **OpenBSD release** | **golang in ports** |
6|:--------------------|:--------------------|
Dimitri Sokolyuk09a63d12017-04-22 13:03:37 +02007| 6.1 (Apr 11, 2017) | go-1.8 |
Dimitri Sokolyukec097922016-09-10 15:31:41 +02008| 6.0 (Sep 1, 2016) | go-1.6.3 |
Dimitri Sokolyukf0ac4272016-04-24 00:44:03 +02009| 5.9 (Mar 29, 2016) | go-1.5.4 |
Dimitri Sokolyuk6502da82015-10-19 17:15:00 +020010| 5.8 (Oct 18, 2015) | go-1.4.2 |
Jack Peirce67c88152015-05-07 20:20:37 -060011| 5.7 (May 1, 2015) | go-1.4.1 |
Constantine A. Murenin1beb25b2015-02-25 20:26:18 +000012| 5.6 (Nov 1, 2014) | go-1.3p0 |
Constantine A. Mureninc2964ab2015-02-25 20:04:31 +000013
Mikio Hara82de2872016-09-29 14:41:13 +090014## Building from source
Constantine A. Mureninc2964ab2015-02-25 20:04:31 +000015
Mikio Harac53c0cd2016-10-20 16:15:03 +090016| **Kernel version** | **Architectures** | **Initial support version** | **Final support version** |
17|:-------------------|:------------------|:----------------------------|:--------------------------|
Mikio Hara55554742016-12-12 16:42:45 +090018| 6.1 | amd64, arm, 386 | Go 1.8 | |
Mikio Hara1a58b6b2017-10-05 09:15:49 +090019| 6.0 | amd64, 386 | Go 1.4.1 _*_ | |
20| 6.0 | arm | Go 1.5 | |
21| 5.9 | amd64, 386 | Go 1.4.1 _*_ | Go 1.8.4 |
22| 5.9 | arm | Go 1.5 | Go 1.8.4 |
Mikio Hara21fdcde2017-05-24 21:35:56 +090023| 5.6 through 5.8 | amd64, 386 | Go 1.4.1 _*_ | Go 1.7.6 |
24| 5.5 | amd64, 386 | Go 1.3 _*_ | Go 1.7.6 |
Mikio Harac53c0cd2016-10-20 16:15:03 +090025| 5.0 through 5.4 | amd64, 386 | Go 1 | Go 1.2.2 |
Mikio Hara69c9dc42017-03-23 12:35:02 +090026
Mikio Haraddebc2c2016-09-29 16:31:41 +090027_*_ Go 1.5 or above is recommended.
Andrew Gerrand5bc444d2014-12-10 11:35:11 +110028
Erik Williamson1c94c542017-09-28 20:20:43 -070029## Longterm support
30
Erik Williamson2221b052017-09-28 20:26:55 -070031Go aims to support the two most recent OpenBSD releases, because OpenBSD officially supports only the two most recent releases, and makes a best-effort attempt to maintain ABI support in consecutive releases.
Erik Williamson1c94c542017-09-28 20:20:43 -070032
Mikio Hara82de2872016-09-29 14:41:13 +090033## ulimits (` /etc/login.conf `)
Andrew Gerrand5bc444d2014-12-10 11:35:11 +110034
Michael McConville8ccc3172016-01-13 23:39:29 -050035Edit `/etc/login.conf` so that the staff class has the proper
Andrew Gerrand5bc444d2014-12-10 11:35:11 +110036settings. The following is a working example of the staff class:
37```
38staff:\
39 :datasize-cur=infinity:\
40 :datasize-max=infinity:\
41 :datasize=infinity:\
42 :openfiles-cur=4096:\
43 :maxproc-max=512:\
44 :maxproc-cur=512:\
45 :ignorenologin:\
46 :requirehome@:\
47 :tc=default:
48```
49
Michael McConvilleeee069b2016-01-13 23:36:43 -050050If the database file `/etc/login.conf.db` exists, you need to rebuild it with:
Andrew Gerrand5bc444d2014-12-10 11:35:11 +110051```
52# cap_mkdb /etc/login.conf
53```
54
Michael McConville1abb1222016-01-13 23:41:10 -050055Ensure that the user you intend to build Go with is in the `staff` login class:
Andrew Gerrand5bc444d2014-12-10 11:35:11 +110056```
Michael McConville1abb1222016-01-13 23:41:10 -050057# usermod -L staff your_username_here
Michael McConville9d08e0a2016-01-13 23:17:38 -050058```