Tutorial: Instalar programas desde el codigo fuente en linux

1 08 2013

Cuando buscamos programas de cualquier tipo, es común que se de el caso de que no hay paquetes hechos para nuestra distribución por lo tanto no podemos descargarlos en un formato para nuestra distro. Sin embargo siempre esta la versión de ese programa en CÓDIGO FUENTE (Source Code).

El Código Fuente no es mas que el programa tal cual lo escribió el programador. Es decir que para poder usar dicho programa debemos compilarlo y crear un ejecutable compatible con nuestra distribución. Generalmente esos códigos vienen en lenguaje C y C++, aunque pueden aparecer en Python, Ruby, etc…

Pero en este tutorial les explicare de manera básica como instalar software desde el código fuente.

Dependencias de software.

Cuando se instala un programa en linux aveces la instalación da error y el programa no se instala debido a la falta de dependencias de software. Las dependencias son programas o librerías que el programa que deseamos instalar necesita para su correcto funcionamiento. Por tanto debemos instalar esas dependencias primero antes de instalar el software que queremos. Cuando se compila software el tipo de dependencia que se utiliza son las dependencia para desarrollo de software, para darnos cuenta si la dependencia que estamos descargando es de desarrollo de software, basta con revisar el nombre de esa dependencia y verificar si al final del nombre dice dev. Por ejemplo: libavcodec-1.2-dev es una librería (dependencia) de desarrollo.

Ahora conoceremos los comandos básicos y comúnmente usados para compilar software:

  • ./configure

Este comando verifica que todas las dependencias que el software que queremos compilar e instalar estén instaladas y funcionando correctamente. Si todo sale bien, se creara un archivo llamado makefile. También este comando nos permite activar opciones adicionales que son parte del programa que queremos instalar, para que cuando el mismo este compilado e instalado ya tenga esas opciones activas, esto lo veremos en el párrafo siguiente.

Este comando tiene una opción adicional llamada –help (./configure –help) que nos dirá cuales son las opciones adicionales que queremos activar de ese programa que queremos instalar desde el código fuente. Siempre es bueno ejecutar ./configure –help para verificar que opciones adicionales podemos ponerle al programa que queremos instalar ya que puede que nos interese alguna de esas opciones. Una vez identificadas las opciones ejecutamos: ./configure –opcion1 –opcion2 …. –opcionN, según las opciones que queramos activar. Si queremos instalar el programa con las opciones que vienen por defecto simplemente ejecutamos ./configure.

  • make

El comando make es un comando que inicia el programa make (GNU Make), el cual se encarga de leer los archivos makefile que se generan después del ./configure. Un makefile es un archivo que se utiliza en compilación de programas (sobre todo en lenguaje C y C++) que contiene el proceso completo de compilación, es decir, tiene el orden en que los compiladores (y sus parámetros) se ejecutaran y también los archivos que se van a compilar junto con las opciones adicionales previamente activadas en el ./configure. Luego de que hacemos el ./configure escribimos make para comenzar a compilar. El proceso de compilación durara según la capacidad de nuestro CPU y nuestro computador.

  • make install

Una vez terminada la compilación ejecutamos make install para ejecutar la instalación del ejecutable del programa ya compilado. Los ejecutables de los programas se instalaran por defecto en la carpeta /usr/bin.

Ejemplo de instalación paso a paso de un programa mediante el código fuente:

  1. Supongamos que descargo un programa (ejemplo: miprograma.tar.gz) en forma de código fuente en un tarball (.tar.gz o .tar.bz2) o comprimido en un zip (.zip) o cualquier herramienta de compresión/descompresión. Descomprimimos ese archivo de código fuente con nuestra herramienta de descompresión preferida en la carpeta que deseemos (ejemplo /home/hackinglinux). Para mas información sobre como descomprimir tarballs puede leer este articulo.
  2. Al descomprimir el archivo se creara una carpeta con el nombre del programa que se descargo. Ejemplo si el programa se llama miprograma y lo descargamos en la carpeta /home/hackinglinux, entonces la ruta de la carpeta se llamara /home/hackinglinux/miprograma. Escribimos cd /home/hackinglinux/miprograma
  3. Luego escribo ./configure –help para ver que opciones puedo activar y que dependencias de software necesito. Si el resultado del configure no da error entonces podemos seguir con el próximo paso. En caso de dar error, debemos leer el error para ver que es lo que esta faltando. En caso de faltar una dependencia de software tenemos que descargar e instalar dicha dependencia y volver a ejecutar este mismo paso. Una vez resueltas todas las dependencias ejecutamos ./configure (si vamos a activar opciones adicionales escribimos ./configure –opcion1 –opcion2 …).
  4. Si todo sale bien entonces escribimos make y esperamos a que se termine de compilar.
  5. Si la compilación sale bien escribimos make install, esperamos a que instale y listo nuestro programa ya esta instalado.

Si queremos desinstalar un programa que instalamos por código fuente solo debemos irnos a la carpeta que descomprimimos en el paso 1 mediante el comando cd y ejecutar el comando make uninstall. Es importante saber que make uninstall solo desinstalara el ejecutable del programa, es decir, las librerías que se instalan como dependencia de ese programa en realidad se quedan por lo que si se quiere quitar las librerías eso lo haremos de manera manual o removiéndolas con nuestro gestor de paquetes de preferencia.

Cualquier duda o comentario son bienvenidos.


Acciones

Information

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s




A %d blogueros les gusta esto: