Compilar programas en Linux
Página 1 de 1.
Compilar programas en Linux
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:
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:
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:
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:
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:
Y, finalmente, instalaremos la aplicación con el comando:
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:
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:
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]
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- Admininistrador
- Mensajes : 624
Fecha de inscripción : 27/04/2010
Temas similares
» Existe programas asi en sus paise
» Aldos 1.2 GNU/Linux
» ¿Que es una distribucion GNU/Linux?
» La carpeta "Papelera" en Linux
» 10 tips para aumentar la seguridad de tu Pingüino en GNU/Linux
» Aldos 1.2 GNU/Linux
» ¿Que es una distribucion GNU/Linux?
» La carpeta "Papelera" en Linux
» 10 tips para aumentar la seguridad de tu Pingüino en GNU/Linux
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.
Sáb Sep 21, 2013 11:53 pm por Kreator
» Torture - Turture (Demo 96)
Miér Mar 27, 2013 10:14 am por Lord_Azazel
» Revolver Apache
Lun Feb 04, 2013 6:41 pm por siosire
» Luciferismo
Dom Feb 03, 2013 9:14 pm por Je_suis_
» Grave - Discography (320 Kbps)
Lun Ene 21, 2013 10:22 pm por Javier M.
» Informaciones
Jue Ene 17, 2013 4:11 pm por ivineytor
» "Celtic" Metal (Copilacion)
Dom Ene 06, 2013 9:05 am por JUGLARMETAL
» Wintersun - 2004 - Wintersun + Demo: Winter Madness
Mar Nov 20, 2012 7:50 pm por omarthv
» ¿Quien podría pasarme los libros de Mafalda?
Mar Sep 11, 2012 8:02 am por zebaz13
» Folk Metal Finlandes (Copilacion)
Lun Ago 27, 2012 1:00 am por ivineytor
» Folk Metal
Lun Ago 27, 2012 12:33 am por ivineytor
» Beowulf - Anonimo
Jue Mar 08, 2012 2:14 am por fe25
» Paul Wardingham - Instrumental
Mar Ene 03, 2012 2:35 am por Maledictum Sanguine
» Fosiles Vivientes
Mar Ene 03, 2012 2:24 am por Maledictum Sanguine
» Juagos simples para computadoras mierderas
Sáb Dic 31, 2011 8:45 am por Fenriz
» 1421 el año que China "descubrio" America
Sáb Dic 31, 2011 8:41 am por Fenriz
» Johann Sebastian Bach - The Art of Fugue
Sáb Dic 31, 2011 8:29 am por Fenriz
» Cuando el enemigo tiene gonorrea y sífilis
Sáb Dic 31, 2011 8:27 am por Fenriz
» El síndrome de la dama y el vagabundo
Sáb Dic 31, 2011 8:23 am por Fenriz
» Hegel
Miér Nov 16, 2011 3:34 pm por Maledictum Sanguine