Compilar programas en GNU/Linux

Bueno, compilar no es más que convertir un programa[su código fuente] en un binario que nuestro sistema lo pueda entender… Según Google es: Traducir con un compilador, un programa en lenguaje de alto nivel, a lenguaje de la máquina… ¿¿¿Entendieron??? Dudas en los comentarios, jejeje.

Para compilar, lo primero, básico, indispensable es tener una PC con un sistema operativo instalado. Lo segundo es el compilador y lo tercero es el programa que vamos a compilar. Esto se aplica a todos los sistemas operativos.

Teniendo todo lo anterior, sólo nos queda compilar, verdad?

Para compilar hay que tener en cuenta, qué es lo que vamos a compilar y en que lenguaje de programación está escrito. Porque si vas a compilar una cosa que fue escrita en C/C++/C# para nada necesitas un compilador de Java[es obvio], por poner un ejemplo.

Ahora, suponiendo que vamos a compilar un programa que está escrito en C/C++, en sistemas GNU/Linux debemos tener varias herramientas, entre ellas, git, build-essential, checkinstall, intltool entre otras. Ya aquí hemos visto algunos ejemplos de cómo se compilan programas…

Para instalarlas:

apt-get install git build-essential checkinstall intltool

Ahora bien, tomamos el programita que nos bajamos de internet y que está solamente en código fuente y lo extraemos a un directorio, por favor, leerse el manual de tar, o al menos googlear alguito

Entonces, ya con nuestro programa extraído, por ejemplo, pepito-1.2.4, entramos al directorio:

cd pepito-1.2.4

Y ejecutamos un ls -lsa:

ls -lsa

Debemos, entre todo lo que nos aparece buscar los archivos README e INSTALL, pueden ser README.me o INSTALL.lst, cada desarrollador le pone el nombre que mejor le convenga, pero deben estar, o sino, deben leer en la documentación del programa, en la página web del desarrollador como compilarlo.

Bueno, README e INSTALL deben traer las opciones de compilación para que nuestro programa funcione sin tropiezos en nuestros sistemas.

Nota: LEER OBLIGATORIAMENTE el contenido de el archivo README evita que tu programa de errores a la hora de compilar, así que atiende a todo lo que ahí se explica…

Debe decir en el README que se compila con ./configure, que no es más que un script que genera la configuración básica de nuestro programa para nuestro sistema, así como las opciones en tiempo de compilación que lleva nuestro programa. Hay además otros muchos programas que se compilan con cmake, qmake, automake entre otros, ya en este punto debería decirte[el README las dependencias que necesitas]. En este paso usted debe conocer, leyendo el README o el INSTALL, si su programa está hecho para KDE, GNOME, o con que bibliotecas gráficas[GTK, QT, FLTK], así usted sabrá sobre que interfaz gráfica fue diseñado su programa.

Para saber cuales son las opciones que necesitas sólo ejecuta:

./configure --help

Y configure dará todas las posibles opciones que necesitarás. Nota: No todos los programas necesitan las mismas opciones, aclaro, leer seriamente el README acerca de este tema…

Ejemplos:

./configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/man --with-tcl --with-perl --with-python --with-ldap --with-openssl --enable-nls

Y que cosa es prefix, sysconfigdir, mandir, etc?

Prefix -> directorio donde residirá el programa

Sysconfigdir -> Directorio de configuraciones del sistema

Mandir -> Directorio donde va su manual, ver comando man

Las demás opciones son particulares de cada programa, como por ejemplo:

--with-libdir=lib64 --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info --cache-file=../config.cache --with-config-file-path=/etc

Cómo podemos ver son muchas, que funcionan de distinta manera en cada sistema operativo, por lo cual debemos estar seguros cuales necesitaremos…

Después de haber ajustado nuestras opciones ejecutamos make e instalamos con make install:

make
make install

Estos dos últimos comandos requieren ser usuarios root, ya que hacen cambios en el sistema, no siendo así con el configure.

Y habiendo compilado nuestro programa ya tenemos nuestro programa pepito-1.2.4 para nuestro sistema, vaya al menu de aplicaciones del sistema que en algún apartado debe salir. Si no sale, puede ser por dos cosas, una, el creador lo hizo solamente para consola, pero si es gráfico, no incluyó el archivo .desktop. En este artículo se explica en detalle la función y características de los archivos .desktop.

Terminado todo, ejecute[esta parte es opcional], make clean, para limpiar los archivos de tiempo de ejecución que se usaron para generar el binario del programa que usted compiló, esto se hace si desea guardar una copia limpia del codigo fuente del programa. Existen también programas que antes de compilar hacen un test de precompilación que diagnostica si el paso make install fallará o será exitoso, esto se puede hacer con make test.

Ahora usted querido usuario, lea, documéntese y pruebe. No queda nada más.

Un saludo y espero le sea útil.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 5 / 5. Recuento de votos: 1

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Sé el primero en comentar

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*