#4sysadmins

Inicio » GNU/Linux » Compilar programas en GNU/Linux

Compilar programas en GNU/Linux

Últimas Entradas

Follow #4sysadmins on WordPress.com

Compilación de paquetes

Lo primero que podemos preguntarnos si somos usuarios nóveles en GNU/Linux es ¿Que es compilar?, pues bien, la definición de compilar podría ser algo como “reunir una serie de objetos necesarios en una misma unidad con el fin de poder hacer que esta sea totalmente funcional“. En GNU/Linux cuando hablemos de compilar un paquete nos estaremos refiriendo a la transformación de un programa escrito en código fuente (el cual es legible por nosotros, los humanos) en código máquina, de manera que pueda ser interpretado por el sistema haciéndolo este funcionar.

Vamos a explicar el procedimiento de compilación mediante un ejemplo: Supongamos que queremos instalar un programa/paquete para el cual no encontramos el respectivo .rpm o .deb de nuestra distribución o sistema específico (hardware, arquitectura, etc..) pero en cambio si tenemos la opción de bajar el código fuente del mismo. Lo primero que deberemos de hacer será descargarlo a nuestra máquina. Una vez descargado comprobaremos que se trata de un archivo .tar, .tar.gz o tar.bz2 (aunque es posible igualmente encontrarlos en .zip o en otros sistemas de compresión).

Una vez tengamos el código fuente (archivo .tar, .tar.bzp2, etc..) en nuestra máquina deberemos de comprobar si tenemos algún compilador instalado en el sistema. En GNU/Linux es común utilizar GCC (compilador para C, C++, Java, Fortran y otros códigos de programación que se distribuye como software gratuito bajo licencia GPL (General Public License)) que podremos comprobar mediante la siguiente orden en consola:

# gcc --version

Si no obtenemos resultados deberemos de proceder a su instalación mediante alguna de las herramientas de instalación de paquetes. Aquí podrás aprender sobre estas herramientas

Ahora que ya tenemos instalado gcc, vamos a descomprimir el código fuente. Dependiendo de la extensión del paquete deberemos de utilizar una u otra herramienta, por ejemplo si es un .zip utilizaremos:

# unzip nombre_paquete.zip

Si es un tar.gz o tar.bz2 utilizaremos la herramienta tar tal que así:

# tar -zvxf nombre_paquete.tar.gz

o

# tar -jxvf nombre_paquete.tar.bz2

Esto nos creará un nuevo directorio donde se almacenarán los archivos que contenía el paquete antes de ser descomprimido. Accederemos a este directorio mediante el comando cd. Dentro de este directorio buscaremos los archivos README e INSTALL donde se nos presentará una serie de instrucciones para la instalación y requisitos necesarios que deberemos de instalar en caso de no encontrarse instalados en nuestro sistema.

Ahora con “todos” los requisitos supuestamente instalados y una idea de lo que vamos a realizar para instalar el paquete o haber obtenido información sobre este mediante los archivos anteriormente citados, ejecutaremos el comando “./configure” con el que procederemos a verificar los requisitos (nos alertará si faltase alguno) y preparar la compilación.

Nota: Aunque por regla general “todos” los paquetes suelen llevar una ruta predefinida válida (la cual suele estar definida bajo el directorio /usr), podremos utilizar el parámetro –prefix=/ruta/de/instalación para especificar una ruta alternativa en la que instalar el nuevo programa. Es importante que esta ruta este en nuestra variable PATH de manera que podamos ejecutar el nuevo programa sea cual sea nuestro directorio de trabajo.

Con todo listo y todos los requisitos cumplidos procederemos a compilar. Para ello utilizaremos el comando make. Esto producirá una salida en la que iremos comprobando el proceso de compilación. Esta tarea podrá tardar desde segundos a horas (depende de numerosos factores).

Nota: Si tenemos un procesador con mas de un núcleo podremos utilizar la opción -j <num> para especificar el número de hilo (thread) a utilizar durante el proceso de compilación.

Bueno ya tenemos compilado nuestro programa ahora queda instalarlo. Es importante saber si tenemos permisos en el directorio de instalación, bien en el que viene por defecto (que se puede determinar dependiendo del paquete que estemos compilando e instalando) o en el que hayamos prefijado nosotros mediante la opción –prefix= de ./configure. De no tener los permisos suficientes deberemos de ingresar como root (su –), para lo que necesitaremos conocer su password o bien utilizar sudo (si es que el archivo /etc/sudoers, algo que veremos en otros capítulos, no lo permite). Sin más ejecutamos el comando make install.

Si todo ha ido bien, ya tendremos nuestra aplicación instalada la cual podremos ejecutar desde cualquier directorio (recordemos que el directorio en el que se encuentra el binario de la aplicación debe estar añadido como valor a nuestra variable PATH). Para finalizar no estaría de mas hacer un poco de limpieza, algo que hará fácilmente el comando make clean.

Nota: Este comando es necesario ejecutarlo, si tras la compilación obtuvimos errores y queremos volver a compilar. Antes de continuar deberemos de ejecutar make clean.

Si por cualquier motivo queremos desinstalar la aplicación, utilizaremos el comando make unistall, pero antes deberemos de movernos al directorio en el que se encuentran los archivos de compilación y el código fuente (sí, el que se creo cuando descomprimimos al principio el paquete comprimido del código fuente) y autentificarnos como root.

Anuncios

Deja un comentario, Gracias!

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: