Categorías: Noticias

Google Go sobre Ubuntu

Esta mañana me encuentro en MundoGeek un artículo acerca del reciente lenguaje de programación Go, del que ya hablamos ayer. Me ha parecido sumamente interesante lo que comenta sobre cómo probar programar en Go sobre Ubuntu.

Me ha parecido tan curiosa su sencillez (no tanto como Python) que me he lanzado a probarlo, así:

  1. Lo primero, y antes de comenzar tenemos que compilar las herramientas de trabajo, de esta manera hemos de crear algunas variables de entorno en el fichero .bashrc, teniendo en cuenta que “~” es nuestra ruta de usuario, véase /home/usuario:
    nano ~/.bashrc
  2. Y dentro del editor, añadimos las siguiente líneas, que podremos modificar según nos interese:
    export GOROOT=$HOME/go_src
    export GOOS=linux
    export GOARCH=386
    export GOBIN=$HOME/go_bin
    export PATH=$PATH:$GOBIN

    GOROOT: Mediante esta variable de entorno indicaremos dónde se guardará el código fuente de nuestras aplicaciones
    .
    GOOS: Representa la etiqueta del sistema operativo para el que vamos a crear nuestras aplicaciones, podemos usar las siguientes etiquetas: “linux, darwin (Mac OS X) y nacl (Native Client)”.
    GOARCH: Define la arquitectura para la que compilamos, aquí las opciones que tenemos son:”amd64 (64 bits), 386 (32 bits) y arm”.
    GOBIN: Esta variable de entorno especifica dónde instalaremos los binarios de
    Go.
    PATH: Aquí especificaremos el directorio en el que se instalarán las herramientas de Go, de esta manera podremos usarlas accediendo por su nombre, como cualquier otra herramienta lanzada desde consola.

  3. Bien, ya tenemos modificado el .bashrc, ahora para aplicar los cambios y nos tener que reiniciar la consola, lanzamos la siguiente orden:
    source ~/.bashrc

  4. Una vez configurado nuestro entorno, sin el código fuente ni las herramientas, pasaremos a descargarlo. Dado que el sistema de control de versiones, Mercurial, no viene preinstalado en Ubuntu, lo instalamos nosotros mismos a través de la siguiente orden como superusuario.
    sudo aptitude install mercurial
  5. Ahora sí podemos proceder a descargar el código fuente de Go:
    hg clone -r release https://go.googlecode.com/hg/ $GOROOT

  6. Una vez tenemos el código fuente, el siguiente paso es compilarlo. Para ello necesitaremos instalar varias herramientas:
    sudo aptitude install bison gcc libc6-dev ed

  7. Ahora es el momento de compilar nuestro deseado Go:
    mkdir $GOBIN
    cd $GOROOT/src
    ./all.bash

    Cuando esto haya terminado, y si no se ha producido ningún error (afortunadamente no ha sido mi caso), podremos encontrar las herramientas del “mini-entorno” de Go en el directorio definido en la variable de
    entorno
    GOBIN.

  8. Ahora vamos a escribir nuestro primer programa en Go, el clásico “Holamundo”:
    nano holaLinuxHispano.go

    package main
    import “fmt”
    func main()
    {
    fmt.Printf(“Hola mundo desde el Equipo de Linux Hispano\n”);
    }

  9. Guardamos el archivo y llega el momento de compilarlo (y linkarlo al mismo tiempo):
    8g holaLinuxHispano.go

    Si deseamos compilarlo para 64 bits, usaremos el compilador “6g”:
    6g holaLinuxHispano.go

  10. El resultado obtenido será un archivo objeto holaLinuxHispano.8 ó holaLinuxHispano.8, con el código máquina de nuestra aplicación. Para crear el fichero ejecutable (esto es linkar los ficheros objeto) mediante el comando 8l (6l para 64 bits). Así:
    8l hola.8

  11. Terminando, para ejecutar nuestra aplicación, por último:
    ./8.out

¿Habéis hecho alguna prueba más? Esperamos vuestros comentarios al respecto.

Alberto Hornero Luque

Contínuamente relacionado con el procesamiento de imágenes y el análisis numérico, se encuentra actualmente trabajando como Ingeniero Técnico en el laboratorio de Métodos Cuantitativos de Teledetección del CSIC. Administrador del portal Linux Hispano centra sus intereses en tecnologías abiertas, desarrollos en la nube y GNU/Linux, y hace poco fundó junto a Javier Carazo una startup, Codection. Puedes seguir sus updates en @ahornero y LinkedIn.

Ver comentarios

  • @Oscar: Muy bueno si señor, aún desconozco cual es el comando para lanzar mariposas con "nano" creo que lo seguiré usando.

    Si bien para algo más gráfico recomiendo Geany, que visualmente hablando es una mezcla entre el ya clásico Notepad++ de Windows y el editor de KDE Kate, que funciona las veces de IDE.

  • Oye gracias por el tutorial. Por otra parte a mi lamenteablemente no me ha funcionado este método.

    --- cd ../misc/cgo/stdio
    rm -rf *.[568vqo] *.a [568vq].out *.cgo[12].go *.cgo[34].c *.so _obj _test _testmain.go hello fib chain run.out
    cgo file.go
    could not determine kind of name for C.puts
    could not determine kind of name for C.CString
    could not determine kind of name for C.fflushstdout
    could not determine kind of name for C.free
    failed to interpret gcc output:
    cc1: warnings being treated as errors
    cgo-test: En la función ‘f’:
    cgo-test:0: error: declaración sin efecto
    cgo-test:1: error: declaración sin efecto
    cgo-test:2: error: declaración sin efecto
    cgo-test:3: error: declaración sin efecto

    make: *** [file.cgo1.go] Error 2

    que crees que pueda ser...

    mi SO es ubuntu jaunty (lo tengo bajo windows). Será ese el problema?. En todo caso estaré pendiente de tu respuesta.

Entradas recientes

DeepSeek

3 días hace

Contacto

2 semanas hace

Smart-tv mute

2 semanas hace

STEAM OS

3 semanas hace

2025

1 mes hace

El podcast de Linux Hispano – #072 – El hardware libre debe consolidarse como el software libre

https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.

1 mes hace