Go Porting Efforts
Efforts to port Go to new operating systems.
Last updated 20 February 2011
MS Windows
Status: Official/Primetime.
Status (Win64): Complete.
You can download pre-packages binaries for the latest semi-official mingw builds updated for every new release: http://code.google.com/p/gomingw/downloads/list
For the latest info and more details see this page in the official Go site.
See also the WALK “Windows Application Library Kit” by Alexander Neumann, a collection of unofficial libraries designed for building native Windows GUI applications.
Links to outdated/deprecated/merged porting efforts:
Status: Most of Hector Chu’s Work has been merged and works (using mingw).
- http://bitbucket.org/jpoirier/go_mingw/downloads/ - Deprecated - More recent mingw builds provided by jpoirier. Still not fully functional but closer.
- http://code.google.com/r/hectorchu-go-windows/ - Deprecated - Binaries of this port can be downloaded from here. Obsolete!
- http://code.google.com/p/golang-on-cygwin/ - Source of the original port by Hector Chu, now rather outdated and most bits were merged with the main distribution. Obsolete!
The company Newquist Solutions claims to be working on another comercial(?) port to MS Windows, but nothing has been released to the public yet.
FreeBSD
Status: Official/Primetime.
A FreeBSD port (both amd64 and i386) by Devon H. O'Dell (dho/evildho on IRC) has been merged into the mainline repository. The port is finished for all current intents and purposes. Outstanding items include:
- pkg/debug/proc/proc_freebsd.go
- FreeBSD ports/lang/go-devel (wxs is working on this)
OpenBSD
Status: WIP/Being merged
dho was working on it. Currently hammering out some issues in 8l/asm.c required by OpenBSD’s ELF interpreter.
jaturner(calminferno@gmail.com) started to work on a new port, you can find his latest code in the following Google-code project page: http://code.google.com/r/calminferno-go-openbsd/
Joel Sing, Mikio Hara and others have started work on OpenBSD support in the main Go distribution, it is not yet complete but already runs.
DragonFlyBSD
Status: WIP
Venkatesh Srinivasan (me___
on IRC) is working on it.
NetBSD
Status: WIP
The various ongoing porting efforts to NetBSD are being discused as part of issue 611.
As of August, Joerg Sonnenberger has a ‘mostly working’ port for current/amd64.
A now abandoned porting effort can be found on this page.
Plan 9 from Bell Labs
Status: Being integrated with mainline.
Both compilers and runtime has been ported and are being integrated upstream. Work has also started on porting the standard libraries.
Obsolete/outdated efforts:
Sape Mullender was working on a port, as of this writting the compilers and the build systems have been ported and the libraries are in process.
There is also a public hg repo with a port in progress at: http://code.google.com/p/go-plan9/
Paulzhol has submitted a CL with a partially working port, including runtime, see: http://codereview.appspot.com/2273041/
Haiku
Status: WIP
A port has been started by Bruno Albuquerque.
Solaris
Status: planning (Gccgo already working)
Alan Mock plans to start working on a Solaris 10/amd64 port in January.
Gccgo is reported to work on Solaris.
Native/Raw-Hardware
It is possible to run Go without an OS, currently supported architectures include ARM and i386.
For details see now factored out of the main distribution ‘tiny’ runtime: http://code.google.com/p/tinygo/
And see also the GoFY OS being written in pure Go: http://code.google.com/p/gofy/