Compilar programas

De doc.ubuntu-es
Saltar a: navegación, buscar

Compilar un programa para instalarlo en Ubuntu es una tarea para usuarios con un poco de experiencia, dado que cada programa tiene sus particularidades. Si tenemos la opción de instalar un paquete binario (.deb), es mejor optar por usarlo.

Casos en que optaremos por compilar desde las fuentes:


  • Cuando no encontremos el programa en nuestros repositorios (Synaptic) o no encontremos la versión que queremos.
  • Cuando no haya paquetes binarios en internet. Una buena web para hallar paquetes binarios es: GetDeb.
  • Cuando queramos optimizar el programa al máximo, ya que lo compilamos para nuestra máquina.


En este artículo daremos una visión general de cómo compilar en Ubuntu y sus derivados por medio de una fórmula básica consistente en 6 pasos.


Contenido

Primer Paso: Instalar el paquete build-essential

Podemos encontrar el paquete build-essential por medio del Gestor de Paquetes Synaptic con el siguiente comando desde terminal:

sudo aptitude install build-essential


Build-essential es en realidad un metapaquete, o lo que es lo mismo: un paquete que contiene otros paquetes:


  • g++
  • g++-3.3
  • gcc
  • gcc-3.3
  • libstdc++5-3.3-dev


Por lo que instalamos las librerías y paquetes que necesitaremos para poder generar archivos binarios.


Segundo Paso: Descomprimir el archivo con las fuentes del programa

En este punto presumimos que tendremos el archivo comprimido descargado en el escritorio. Normalmente los códigos fuente vienen comprimidos en un fichero .tar.gz. Para descomprimirlos podemos hacerlo con el Gestor de archivadores de Ubuntu o abrir un terminal y hacerlo desde ahí:

cd Desktop                           (vamos a la carpeta de nuestro escritorio)
tar -xzf nombre_de_archivo            (descomprimimos el archivo)

Con lo que quedarían todos los archivos de las fuentes en otra carpeta.


Clip.png Es muy recomendable (si no obligatorio) que nos leamos el archivo de ayuda de instalación, que puede llamarse README o INSTALL, ya que como hemos comentado más arriba, aunque el proceso de compilación de un programa es muy similar entre los distintos programas, en este archivo figura el proceso de compilación específico para el programa.


Tercer Paso: Configuración para la compilación

Entraremos en la carpeta donde hayamos descomprimido el archivo .tar.gz . Podemos ayudarnos a buscar las dependencias del programa a instalar tecleando desde la terminal el siguiente comando:

sudo apt-get build-dep nombre_del_programa

Donde sustituiremos nombre_del_programa por el nombre del programa que estemos instalando. Con esto haremos que el comando apt-get nos busque automáticamente las dependencias y nos pregunte si las queremos instalar.

Seguidamente, ejecutaremos el fichero ejecutable configure que viene dentro de la carpeta nuestro programa a compilar. Bastará con teclear la siguiente orden desde la consola de comandos:

./configure --prefix=/usr
  • ./ se emplea para ejecutar un archivo ejecutable que se halla en la misma carpeta donde nos encontramos en ese momento.
  • configure es el fichero ejecutable que invocaremos
  • --prefix=/usr es un parámetro que garantiza que el programa se instale en la carpeta /usr (en caso de no ponerlo, el programa se instalaría en /usr/local), con lo que nos aseguramos que el programa se instale ahi. Este parámetro no es indispensable usarlo para compilar todos los programas y que éstos funcionen, pero algunos programas pueden no funcionar correctamente si no son instalado en la carpeta /usr, por lo que es bueno emplearlo para asegurarse la maniobra.


El fichero configure genera la configuración idónea para nuestro PC y le dice a GCC cómo debe compilar las fuentes para que funcionen en nuestra máquina.


Important.png Si obtenemos errores en este paso seguramente sea porque nos faltará un paquete (cuanto más raro el programa, más raras son las dependencias y paquetes que necesita). Para solucionarlo, sólo tendremos que instalarlo (mediante Synaptic o con Apt) antes de volver a intentarlo. Si aún así nos sigue mostrando el mismo error, tendremos que instalar el mismo paquete, pero la versión con “-dev” en el nombre del paquete (versión para desarrollo).


Clip.png También viene muy bien ejecutar antes y desde la terminal el comando:
./configure --help

Este comando sirve para saber si tenemos que añadir más opciones cuando ejecutamos ./configure --prefix=/usr y en caso afirmativo, nos informa de qué opciones son.


Cuarto Paso: Generar el paquete binario

Para generar el paquete binario tendremos que usar el comando make:

make


Quinto Paso: Instalar el paquete binario

A estas alturas ya tenemos el paquete binario creado. Para instalarlo usaremos el comando make install:

sudo make install

Si todo ha ido bien podremos ir a buscar el programa recién instalado en nuestro Ubuntu y ejecutarlo. Si por alguna de aquellas queremos desinstalar el programa que acabamos de compilar, lo podremos hacer siempre y cuando no hayamos borrado el directorio en el que hemos hecho la instalación. Bastará hacerlo con la instrucción:

sudo make uninstall


Sexto Paso: Borrar la Carpeta

Borraremos la carpeta, puesto que a estas alturas ya tenemos el programa instalado y ya no necesitaremos nada de esa carpeta. De este modo contribuimos a mantener limpio nuestro sistema.


Ver también

Herramientas personales