Quobit

Cultura Digital, Tutoriales, tecnología y gadgets

Tutorial para instalar Go en GNU Linux (Ubuntu)

Variables de entorno. Edita tu archivo personal oculto .bashrc (para definir las variables como globales para todos los usuarios habría que editar /etc/environment)

gedit ~/.bashrc

             y añade estas líneas

export GOROOT=$HOME/go
export GOOS=linux
export GOARCH=386
export GOBIN=$HOME/bin
export PATH=$PATH:$GOBIN

La variable GOROOT hace referencia al directorio donde se guardará el código fuente, y puedes definir otro distinto. No debe existir o en todo caso estar vacío.
La variable GOOS se refiere al sistema operativo que uses y puede adoptar los valores linux, darwin (si instalas en Mac) o nacl (cliente nativo; puerto todavía incompleto, no hagas caso de esta posibilidad. Lógicamente escogeremos linux si inhstalamos en Ubuntu.

La variable GOARCH tiene que ver con la arquitectura y puede adoptar los valores amd64, 386 y arm En mi caso, 386

La variable GOBIN se refiere al directorio destino de los binarios, y puedes elegir otro distinto.

Finalmente, añadimos esta ruta al PATH para poder compilar en cualquier directorio donde nos encontremos.

Actualizamos las variables, sin reiniciar el sistema:

source ~/.bashrc

Creamos el directorio definido en la variable GOBIN:

mkdir $GOBIN

Mercurial. Es el cliente para el control de versiones. Lo instalamos:

sudo apt-get install mercurial

 

Herramientas. Asegúrate de tener instalados estos paquetes:

sudo aptitude install bison gcc libc6-dev ed

Descarga Go:

hg clone -r release https://go.googlecode.com/hg/ $GOROOT

Compila:

cd $GOROOT/src
./all.bash

El proceso (dura unos minutos) debería acabar con el mensaje

— cd ../test/bench
fasta
reverse-complement
nbody
binary-tree
binary-tree-freelist
fannkuch
regex-dna
spectral-norm
k-nucleotide
mandelbrot
meteor-contest
pidigits
threadring
chameneosredux
— cd ../test
0 known bugs; 0 unexpected bugs

pero desgraciadamente en muchos casos (a mí me ha pasado en dos instalaciones) acaba con errores de signo distinto.

Para probar tu primer programa,
1. Escribe en gedit

package main

import “fmt”

func main() {
fmt.Printf(”Hola, mundo\n”);
}

2. Guarda el archivo con la extensión .go y compila:

8g holamundo.go

3. Enlaza el archivo objeto resultante holamundo.8:

8l holamundo.8

4. Ya puedes ejecutar el programa:

./8.out