jueves, 26 de febrero de 2009

Compilar aplicaciones en GNU/Linux

En algunas ocasiones encontrarás programas que no se encuentran en los repositorios de tu distribución ya sea porque son experimentales o porque simplemente nadie ha hecho el paquete instalador. Muchos usuarios recién llegados al mundo GNU/Linux sienten verdadero pánico al pensar que deben enfrentarse a las crípticas órdenes de teclado de la consola de texto. Aunque en realidad este proceso suele ser bastante sencillo y rutinario si tenemos correctamente instalado y configurado nuestro compilador de C/C++ y todas las bibliotecas necesarias, cosa que generalmente viene con todas las distribuciones de Linux

El primer paso es descomprimir el archivo comprimido que hemos bajado de la pagina del desarrollador. esto se puede hacer de manera gráfica usando el programa que tengamos para manejar archivos comprimidos o usando la consola. Casi siempre con la extensión .tar.gz, lo que se conoce con el nombre de tarball, aunque puede estar en otros formatos, de estar en formato .tar.gs
tecleamos en la consola

tar xvzf nombre_del_programa.tar.gz

Ahora debemos ubicarnos en la carpeta del programa. Podemos usar el comando "ls" para tener una lista de los archivos de la carpeta. Generalmente vamos a estar en el directorio home, debemos ir hasta la carpeta que contiene el instalador que acabamos de descomprimir. Para este proceso de cambiar de carpetas usamos el comando "cd" (inciales change directory) de esta manera

cd nombre_del_programa

Si queremos devolvernos podemos usar "cd.." que nos lleva al directorio que contiene el directorio donde nos encontramos.

Ahora debes hacer una pausa y leer el documento README que acompaña el programa que vas a instalar así como el archivo INSTALL si existe, ya que en él se describe la forma de instalar el programa. En estos archivos encontraras una lista de dependencias que son todos los programas y paquetes que debes tener instalados para el correcto funcionamiento e instalación del programa

Ahora debes configurar los archivos que te permitirán compilar el programa. Como norma general, debes instalar todos los programas en el directorio /usr/local/bin, ya que ésta es la forma más adecuada asegurar que el acceso a los programas localmente y en todo momento, ya que los otros directorios que suelen contener programas ejecutables (como /bin y /sbin) pueden no estar disponibles localmente sino a través de la red local. Usando /usr/local/bin el programa será accesible por todos los usuarios de nuestro sistema. Para hacer esto debemos identificarnos como superusuario (root) y configurar la instalación mediante la orden:

./configure --prefix=/usr/local

Tras ejecutar ./configure verás desfilar una larga sucesión de mensajes en la consola y, si su sistema dispone de todos los elementos necesarios para llevar a cabo la compilación de forma satisfactoria, se nos informará en el último mensaje
Si algo falló en el 99% de los casos es que faltó alguna dependencia, debes revisar de nuevo el archivo INSTALL.

Si todo salio bien es hora de comenzar el proceso de instalación con la orden make si no estamos como root no olvides escribir

sudo make


Dependiendo de la complejidad de la aplicación, el número de archivos que la componen, la velocidad del procesador y del rendimiento del sistema, el proceso puede durar desde pocos segundos hasta varias horas. En este proceso la consola muestra todo lo que esta pasando y tal vez nos muestre algunos mensajes de aviso o de error. En este último caso, la compilación se detendrá y deberás tratar de solucionar los problemas que originaron el error . Pero lo normal es que no ocurra ningún error durante la compilación, ya que todo suele estar probado por el autor del programa.

Después de este proceso de compilación instalaremos la aplicación con el comando:

make install

Dependiendo del script de instalación, es posible que se haya creado alguna entrada en el menú de nuestro escritorio y/o en el propio escritorio, aunque ninguna de estas opciones suele ser habitual. Lo más seguro es que tengamos que crear esas entradas nosotros mismos de forma manual.

Si el directorio de destino de la aplicación que hemos instalado está incluido en el PATH del usuario, podremos ejecutar la aplicación directamente desde la consola tecleando su nombre. Lo más usual es que tanto el directorio /usr/local/bin como el /home/usuario/bin estén ya incluidos en el PATH personal.

Ahora tenemos que limpiar el sistema de todos los archivos inútiles que produjimos en la instalación con el comando

make clean

Si quieres desinstalar un programa usa:

make uninstall

Después de la instalación puedes eliminar la carpeta donde tenias los archivos originales sin ningún problema.

No hay comentarios: