Compilar Aplicaciones en Linux
El proceso de compilar un programa e instalarlo desde la consola suele ser una tarea bastante rutinaria, ya que, salvo raras excepciones, siempre se procede de la misma manera, y solo son necesarias tres órdenes.
Se debe tener correctamente instalado y configurado nuestro compilador C/C++ (gcc) y todas las bibliotecas necesarias (que, por lo general, es algo de lo que se encarga el programa de instalación de nuestra distribución), daremos por hecho que todo está dispuesto en nuestro sistema para poder compilar programas de forma correcta.
El primer paso suele ser descomprimir el archivo comprimido que nos hemos bajado de Internet (casi siempre con la extensión .tar.gz, lo que se conoce con el nombre de tarball, aunque puede estar en otros formatos). Abrimos una consola de comandos, y nos dirigimos hacia el directorio donde se encuentra el archivo (tenemos que tener permiso de lectura y escritura en ese directorio), tecleamos la siguiente orden:
tar xvzf nombredelprograma.tar.gz
Comprobamos que se creo un directorio con el nombre del archivo y cambiamos a ese directorio tecleando la orden:
cd nombredelprograma
Cita:En este momento sería recomendable leer la documentación que acompaña al programa, que normalmente está contenida en un archivo con el nombre README. También es recomendable leer el archivo INSTALL, si existe, ya que en él se describe la forma de instalar el programa. Ambos archivos suelen estar escritos en inglés, y contienen una referencia de las dependencias especiales que necesita el programa para poder ser compilado y la forma de instalarlo.
Este último paso es muy recomendable, pues cabe la posibilidad de que el programa se instale de otra forma diferente a la que se detalla acá.
A continuación deberemos configurar los archivos que nos permitirán compilar el programa. Como norma general, deberíamos instalar nuestros programas en el directorio /usr/local/bin, ya que ésta es la forma más adecuada de asegurarnos que podremos acceder a ellos localmente y en todo momento, ya que los otros directorios que suelen contener programas ejecutables (como /bin y /sbin) pueden no estar disponibles localmente, sino en algún lugar remoto de la red local, en caso de que estemos en una. Si se usa ese directorio, el programa será accesible por todos los usuarios de nuestro sistema, pero habremos de tener permisos de superusuario para instalar allí nuestra aplicación. En caso contrario, siempre nos queda la posibilidad de instalarlo en nuestro directorio personal (por ejemplo, en /home/usuario/bin), aunque en este caso sólo nosotros podremos acceder a él. Si optamos por instalar el programa en el directorio /usr/local/bin, deberemos configurarlo mediante la orden:
./configure --prefix=/usr/local
Cita:Hay que tener cuidado con el paso anterior, ya que, de lo contrario, es posible que nuestro programa vaya a parar a algún directorio no incluido en nuestro PATH, por lo que no se podría ejecutar. También es necesario aclarar que la mayoría de los programas ya tienen configurada una ruta de instalación de forma predeterminada, como los programas diseñados para el escritorio KDE, que suelen detectar la ruta en la que reside el resto de programas de dicho escritorio para instalarse en el mismo lugar que ellos. Así, la orden ./configure se suele ejecutar casi siempre sin ningún parámetro adicional.
Tras ejecutar ./configure veremos desfilar una larga sucesión de mensajes por la consola y, si nuestro sistema dispone de todo lo necesario para llevar a cabo la compilación de forma satisfactoria, se nos informará en el último mensaje mostrado. En el caso de que se produzca algún error, deberemos prestar atención a los últimos mensajes mostrados para tratar de solucionar el problema que se haya detectado en nuestro sistema. Si todo fue bien, ya podemos pasar a compilar nuestra aplicación con la orden:
make
Dependiendo de la complejidad de la aplicación y del número de archivos de código fuente que la compongan (y, sobre todo, de la velocidad de nuestro procesador y del rendimiento de nuestro sistema), el proceso puede durar desde pocos segundos hasta varias horas. Durante todo este tiempo, la consola irá mostrando todo lo que se está haciendo, y tal vez se muestren algunos mensajes de aviso o de error. En este último caso, la compilación se detendrá y deberemos tratar de solucionar los problemas que originaron el error, en caso de que sepamos cómo hacerlo (ya que suelen ser necesarios conocimientos de C/C++). Pero lo normal es que no ocurra ningún error durante la compilación, ya que todo suele estar probado por el autor del programa.
Una vez compilada nuestra aplicación deberemos instalarla en el directorio que seleccionamos anteriormente como destino final. Si no tenemos permisos de lectura y escritura sobre ese directorio, deberemos autentificarnos primero como superusuario (usuario root) con la orden:
su
Y, finalmente, instalaremos la aplicación con el comando:
make install
Si todo fue bien y no ocurrió ningún error, nuestra aplicación ya estará lista para ser usada (y, al contrario que en los entornos Windows, no será necesario tener que reiniciar el sistema).
Dependiendo del script de instalación, es posible que se haya creado alguna entrada en el menú de nuestro escritorio y/o en el propio escritorio, aunque ninguna de estas opciones suele ser habitual. Lo más seguro es que tengamos que crear esas entradas nosotros mismos de forma manual.
Si el directorio de destino de nuestra aplicación está incluido en nuestro PATH, podremos ejecutar la aplicación directamente desde la consola tecleando su nombre. Lo más usual es que tanto el directorio /usr/local/bin como el /home/usuario/bin estén ya incluidos en nuestro PATH personal.
Un poco de limpieza
Durante la compilación de un programa se genera un buen número de archivos adicionales en el directorio en el que fue descomprimido. Normalmente, esos archivos no se necesitan para nada (a menos que pensemos modificar el código fuente del programa y volver a compilarlo), por lo que es recomendable eliminarlos para ahorrar espacio en nuestro disco duro. Para ello, tras la instalación podemos ejecutar la orden:
make clean
Desinstalar un programa compilado
Si lo que queremos es desinstalar un programa compilado a partir del código fuente, cambiamos en la consola al directorio en el que fue descomprimido, compilado e instalado, nos autentificamos como usuario root, y a continuación ejecutamos la orden:
make uninstall
Después de la desinstalación podemos eliminar el directorio donde fue descomprimido el programa si no pensamos volver a utilizarlo.
Fuente
Nota:
Cita ("fico2k":
Acoto algo: el Tar con las opciones zxvf, solo sirve para los tar.gz o tgz, los que son tar.bz
las opciones son z(gunzip) extract) v(view) f(force)
Y es con bz hay que hacer bunzip nombrearchivo.tar.bz y despues tar xvf nombrearchivo.tar
Saludos!
¿Qué pasa con los archivos .tar.bz?
El proceso de compilación es exactamente el mismo, lo único diferente es la forma de comprimir que en lugar de utilizar gzip utiliza otro compresor llamado bzip. Podemos descomprimir estos paquetes utilizando la siguiente sintaxis en nuestra consola:
bzip2 -cd [nombrearchivo] | tar xvf
Veamos un poco, el comando bzip2 es para la descompresión propiamente dicha, luego debemos apuntar el archivo en cuestión colocando el nombre exactamente como lo hemos bajado. Finalmente ese símbolo | nos permite continuar la acción con otro proceso. Se trata del desempaquetado que se realiza mediante tar en la forma conocida.
Fuente 2