Abraxas
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.
Buscar
 
 

Resultados por:
 


Rechercher Búsqueda avanzada

Últimos temas
» VARGSMAL - Varg Vikernes
Compilar programas en Linux EmptySáb Sep 21, 2013 11:53 pm por Kreator

» Torture - Turture (Demo 96)
Compilar programas en Linux EmptyMiér Mar 27, 2013 10:14 am por Lord_Azazel

» Revolver Apache
Compilar programas en Linux EmptyLun Feb 04, 2013 6:41 pm por siosire

» Luciferismo
Compilar programas en Linux EmptyDom Feb 03, 2013 9:14 pm por Je_suis_

» Grave - Discography (320 Kbps)
Compilar programas en Linux EmptyLun Ene 21, 2013 10:22 pm por Javier M.

» Informaciones
Compilar programas en Linux EmptyJue Ene 17, 2013 4:11 pm por ivineytor

» "Celtic" Metal (Copilacion)
Compilar programas en Linux EmptyDom Ene 06, 2013 9:05 am por JUGLARMETAL

» Wintersun - 2004 - Wintersun + Demo: Winter Madness
Compilar programas en Linux EmptyMar Nov 20, 2012 7:50 pm por omarthv

» ¿Quien podría pasarme los libros de Mafalda?
Compilar programas en Linux EmptyMar Sep 11, 2012 8:02 am por zebaz13

» Folk Metal Finlandes (Copilacion)
Compilar programas en Linux EmptyLun Ago 27, 2012 1:00 am por ivineytor

» Folk Metal
Compilar programas en Linux EmptyLun Ago 27, 2012 12:33 am por ivineytor

» Beowulf - Anonimo
Compilar programas en Linux EmptyJue Mar 08, 2012 2:14 am por fe25

» Paul Wardingham - Instrumental
Compilar programas en Linux EmptyMar Ene 03, 2012 2:35 am por Maledictum Sanguine

» Fosiles Vivientes
Compilar programas en Linux EmptyMar Ene 03, 2012 2:24 am por Maledictum Sanguine

» Juagos simples para computadoras mierderas
Compilar programas en Linux EmptySáb Dic 31, 2011 8:45 am por Fenriz

» 1421 el año que China "descubrio" America
Compilar programas en Linux EmptySáb Dic 31, 2011 8:41 am por Fenriz

» Johann Sebastian Bach - The Art of Fugue
Compilar programas en Linux EmptySáb Dic 31, 2011 8:29 am por Fenriz

» Cuando el enemigo tiene gonorrea y sífilis
Compilar programas en Linux EmptySáb Dic 31, 2011 8:27 am por Fenriz

» El síndrome de la dama y el vagabundo
Compilar programas en Linux EmptySáb Dic 31, 2011 8:23 am por Fenriz

» Hegel
Compilar programas en Linux EmptyMiér Nov 16, 2011 3:34 pm por Maledictum Sanguine


Compilar programas en Linux

Ir abajo

Compilar programas en Linux Empty Compilar programas en Linux

Mensaje por Maledictum Sanguine Sáb Jun 26, 2010 10:14 pm

Compilar aplicaciones

En algunas ocasiones será necesario echar mano de la consola para compilar e instalar algún programa que nos hayamos bajado de Internet. Muchos usuarios recién llegados al mundo GNU/Linux sienten verdadero pánico al pensar que deben enfrentarse a las crípticas órdenes de teclado de la consola de texto. En realidad, 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.

Si tenemos correctamente instalado y configurado nuestro compilador de C/C++ y todas las bibliotecas necesarias (algo de lo que suele encargarse el programa de instalación de nuestra distribución), este proceso no suele revestir ningún contratiempo. Para el propósito de esta sección, daremos por hecho que todo está bien 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). Para ello podemos utilizar la herramienta de gestión de archivos comprimidos que acompaña a nuestro escritorio favorito, o bien la consola de comandos. Si optamos por la consola, nos situaremos en un directorio sobre el que tengamos permisos de lectura y escritura. A continuación copiamos el archivo comprimido en él y luego, desde la consola, tecleamos la siguiente orden:

Código:
  tar xvzf nombredelprograma.tar.gz

Una vez descomprimido el archivo, veremos (por ejemplo, ejecutando el comando ls) que se ha creado un directorio con el mismo nombre que el archivo que acabamos de extraer (aunque sin la extensión .tar.gz). Cambiamos a ese directorio tecleando la orden:

Código:
  cd nombredelprograma

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 distinta a la genérica (descrita en esta página).

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:

Código:
 ./configure --prefix=/usr/local

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:

Código:
  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:

Código:
 su

Y, finalmente, instalaremos la aplicación con el comando:

Código:
 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:

Código:
 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:

Código:
 make uninstall

Después de la desinstalación podemos eliminar el directorio donde fue descomprimido el programa si no pensamos volver a utilizarlo. Esta tarea se puede realizar con facilidad desde el administrador de archivos de nuestro escritorio favorito.

[Tienes que estar registrado y conectado para ver este vínculo]
Maledictum Sanguine
Maledictum Sanguine
Admininistrador
Admininistrador

Mensajes : 624
Fecha de inscripción : 27/04/2010

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.