6. Instalación

  1. GHDL: Descomprime los ficheros ghdl-0.5-i686-pc-linux-bin.tar.gz y gnat-3.15p-i686-pc-linux-gnu-bin.tar.gz como root con:

    $ tar zxvCf / ghdl-0.5-i686-pc-linux-bin.tar.gz
    $ tar zxvf gnat-3.15p-i686-pc-linux-gnu-bin.tar.gz

    Si quieres estar seguro de lo que haces no causará problemas, puedes saber dónde se van a instalar los archivos ejecutando:

    $ tar zvtf ghdl-0.5-i686-pc-linux-bin.tar.gz

    que te mostrará las rutas completas de dónde colgará la jerarquía, probablemente /usr/local.

  2. GTKWAVE: El fichero gktwave-1.3.24-i686-pc-linux-bin.tar.gz tienes que descomprimirlo en un directorio que esté incluido en la variable PATH, aunque no es imprescindible. En este último caso, para ejecutar GTKWAVE necesitarás especificar la ruta completa. Si se descomprime en un directorio incluido en la variable PATH, bastará con ejecutar gtkwave. Es recomendable descomprimirlo en /usr/local/bin o en $HOME/bin con las órdenes:

    $ tar zxvCf /usr/local/bin gktwave-1.3.24-i686-pc-linux-bin.tar.gz

    o

    $ tar zxvCf $HOME/bin gktwave-1.3.24-i686-pc-linux-bin.tar.gz

    Si has elegido bajarte la última versión de la serie 2.0.0, te recomiendo la última instantánea (snapshot) de los ficheros fuente, ya que siempre soluciona pequeños errores. Tendrás que compilarlo e instalarlo, aunque es muy fácil.

  3. Instala ahora GNAT cambiándote al directorio recién creado, gnat-3.15p-i686-pc-linux-gnu-bin y ejecutando:

    $ cd gnat-3.15p-i686-pc-linux-gnu-bin
    $ ./doconfig
    $ ./doinstall

    Recomendamos la ubicación que se indica en la opción 2 del procedimiento doconfig que instala GNAT en /usr/gnat, ya que así bastará borrar dicho directorio para desinstalarlo completamente. Lamentablemente el nombre del compilador de Ada, usado por GHDL, es gcc, igual que el del compilador de C, de modo que tendrás que insertar al principio de tu variable de entorno PATH la ruta /usr/gnat/bin, de otro modo fallará el proceso de elaboración del ejecutable con un mensaje parecido a este:

    /usr/gnat/lib/gcc-lib/i686-pc-linux-gnu/2.8.1/adalib//libgnat.a(a-raise.o):
    In function `_gnat_builtin_longjmp': a-raise.o(.text+0x1d): undefined reference to `__dummy'
    collect2: ld returned 1 exit status
    ghdl: compilation error

    Otro método consiste en renombrar el ejecutable ghdl como, por ejemplo, ghdl.bin y crear un shell script de este estilo:

    #!/bin/sh
    PATH=/usr/gnat/bin:$PATH /usr/local/bin/ghdl.bin $*

    y después darle permisos de ejecución con la orden:

    $ chmod ugo+x /usr/local/ghdl

    de ese modo al invocar a ghdl se usará el compilador gcc de GNAT y no el de GNU/GCC. Claro que también es posible usar un alias para la orden ghdl, opción más elegante:

    $ alias ghdl="PATH=/usr/gnat/bin:$PATH /usr/local/bin/ghdl"

    que puedes añadir en tu perfil de sesión .profile, .bashrc o el que uses. De este modo no haría falta renombrar el ejecutable ghdl ni cambiar permanentemente la variable PATH. Si, además, quieres seleccionar siempre el estándar VHDL'87 (u otro) para compilar; puedes entonces crear una función de shell (e incluir su creación en tu perfil de sesión) con la orden:

    $ function ghdl () {\
    > local accion
    > accion=$1
    > shift
    PATH=/usr/gnat/bin:$PATH /usr/local/bin/ghdl $accion --std=87 $*
    }

  4. Si aceptaste la anterior recomendación e instalaste GNAT en /usr/gnat, ahora no habrá nada que configurar. En caso contrario, será necesario editar el fichero /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/vhdl/lib/grt.lst para sustituir la linea:

    -L/usr/gnat/lib/gcc-lib/i686-pc-linux-gnu/2.8.1/adalib/

    por

    -Lubicación-donde-instalaste-gnat/lib/gcc-lib/i686-pc-linux-gnu/2.8.1/adalib/