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

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:

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/