Compilar un paquete en Linux
Anuncio:
En esta ocasión vamos a ver cómo compilar un paquete en Linux. Esto es necesario bien porque no tengamos disponibles los binarios o porque queramos optimizar al máximo dicho programa para nuestra máquina.
Bien, antes poder compilar un paquete en Linux, necesitamos algunas dependencias, entre ellas, el programa module-assistant. Para ello, vamos a la consola y lo instalamos:
sudo apt-get install module-assistant
Una vez instalado, vamos a hacer uso de la ayuda con:
m-a --help
Y buscaremos la opción prepare, donde podemos ver, que sirve para instalar todos los paquetes necesarios para compilar de acuerdo al kernel que tengamos instalado. Para ello, haremos:
sudo m-a prepare
Una vez terminado el proceso, debemos asegurarnos de tener en nuestro sources.list los repositorios src. Para ello, editamos dicho archivo con:
sudo nano /etc/apt/sources.list
Y debemos descomentar las líneas de deb-src y guardar el archivo. Recuerda, siempre que hagamos un cambio en el sources.list debemos hacer un:
sudo apt-get update
Ahora si, ya estamos preparados para compilar un paquete en Linux. Lo que vamos a hacer a continuación, es descargar los fuentes de algún paquete, por ejemplo de git:
sudo apt-get source git
Lo que hacemos con esto, es descargarnos todo el código fuente, la firma y demás archivos necesarios para poder compilarlo. Ahora, para compilar el paquete, lo que haremos es agregarle la opción -b:
sudo apt-get source -b git
Es probable que nos de un error porque falten algunas dependencias. Bien, para resolver las dependencias haremos lo siguiente:
sudo apt-get build-dep git
Y con esto, apt-get instala todas las dependencias que necesita git, pero no instala git.
Ahora si, podemos volver a compilar git:
sudo apt-get source -b git
Entonces comenzará a compilar el paquete y ya no dará error de dependencias. Ten en cuenta, que este proceso puede tardar más o menos en función de la velocidad tu máquina, y al terminar, te dirá cómo debe ejecutarlo desde la consola.
Puedes aprender más en nuestra sección de Linux.
Espero que te haya sido de utilidad!